Hive on Tez 的安装配置

简介: Hive on Tez 的安装配置

Hive on Tez 的安装配置



x7tqydsimybf4_4cd1f525c99b4f8aaffd9ae665358c43.jpeg



0. 写在前面

  • Hadoop:Hadoop-2.9.2
  • Hive:Hive-2.3.7
  • Tez:Tez-0.9.0


1. 起源

Hortonworks在2014年左右发布了Stinger Initiative,并进行社区分享,为的是让Hive支持更多SQL,并实现更好的性能。

  • 让Hive的查询功能更强大。增加类似OVER子句的分析功能,支持WHERE子查询,以及调整Hive的样式系统更多的符合标准的SQL模型;
  • 优化Hive的请求执行计划,增加 Task 每秒处理记录的数量;
  • 引入新的列式文件格式(ORC文件),提供一种更现代、高效和高性能的方式来储存Hive数据;
  • 引入新的runtime框架——Tez,消除Hive的延迟以及吞吐量限制。Tez通过消除不必要的task、障碍同步和对HDFS的读写作业来优化Hive job;


2. Tez概述


Tez是Apache开源的支持 DAG (有向无环图)作业的计算框架,是支持Hadoop 2.x的重要引擎。它源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。


1.jpeg

Tez将 Map task 和 Reduce task 进一步拆分为如下图所示:

2.jpeg


Tez的task由Input、processor、output阶段组成,可以表达所有复杂的map、

reduce操作,如下图:

3.jpeg


Tez可以将多个有依赖的作业转换为一个作业(只需写一次HDFS,中间环节较

少),从而大大提升DAG作业的性能。Tez已被Hortonworks用于Hive引擎的优化,

经测试一般小任务比Hive MR 的2-3倍速度左右,大任务7-10倍左右,根据情况不同

可能不一样。

4.jpeg


Hive-on-MR is deprecated in Hive 2 and may not be available in
the future versions. Consider using a different execution
engine (i.e. spark, tez) or using Hive 1.X releases.


Tez+Hive仍采用`MapReduce`计算框架,但对DAG的作业依赖关系进行了 裁剪 ,并将多个小作业合并成一个大作业,不仅 减少了计算量,而且写HDFS次数也大大减少



3. 安装部署

前置芝士


官方推荐使用 Tez 和包中包含的预打包 Hadoop 库  的安装方式。包含所有依赖项的完整 tarball 是确保现有作业在集群滚动升级期间继续运行的更好方法。


安装


  • 1、下载软件包:apache-tez-0.9.2-bin.tar.gz
  • 2、解压缩
tar -zxvf apache-tez-0.9.0-bin.tar.gz
cd apache-tez-0.9.0-bin/share


  • 3、将tez的压缩包放到hdfs上
hdfs dfs -mkdir-p /user/tez
hdfs dfs -put tez.tar.gz /user/tez


  • 4、$HADOOP_HOME/etc/hadoop/ 下创建 tez-site.xml  文件,做如下配置:保存后将文件复制到集群所有节点
<?xmlversion="1.0" encoding="UTF-8"?><configuration><!-- 指定在hdfs上的tez包文件 --><property><name>tez.lib.uris</name><value>hdfs://hadoop1:9000/user/tez/tez.tar.gz</value></property></configuration>

保存后将文件分发到集群所有节点


  • 5、增加客户端节点的配置(/etc/profile)
exportTEZ_CONF_DIR=$HADOOP_CONF_DIRexportTEZ_JARS=/opt/apps/tez/*:/opt/apps/tez/lib/*
exportHADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH
  • 6、Hive设置Tez执行
hive> set hive.execution.engine=tez;

4.jpeg


  • 7、如果想默认使用Tez,可在$HIVE_HOME/conf目录下 hive-site.xml 中增加
<property>
  <name>hive.execution.engine</name>
  <value>tez</value>
</property>


4. 解决日志Jar包冲突

rm /opt/apps/tez/lib/slf4j-log4j12-1.7.10.jar

结束!


目录
相关文章
|
4月前
|
SQL 数据库 HIVE
记录hive数据库远程访问配置问题
记录hive数据库远程访问配置问题
117 0
|
7月前
|
SQL 安全 Java
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
一篇文章彻底理解 HIVE 常见的三种 AUTHENTICATION 认证机制的配置与使用
|
5天前
|
SQL 存储 分布式计算
Hive详解、配置、数据结构、Hive CLI
Hive详解、配置、数据结构、Hive CLI
20 0
Hive详解、配置、数据结构、Hive CLI
|
25天前
|
SQL HIVE
Hive【基础知识 04】【Hive 属性配置的三种方式及配置的优先级说明】
【4月更文挑战第7天】Hive【基础知识 04】【Hive 属性配置的三种方式及配置的优先级说明】
13 0
|
5月前
|
SQL Java Shell
Hive【非交互式使用、三种参数配置方式】
Hive【非交互式使用、三种参数配置方式】
|
7月前
|
SQL 分布式计算 Hadoop
配置Hive使用Spark执行引擎
在Hive中,可以通过配置来指定使用不同的执行引擎。Hive执行引擎包括:默认MR、tez、spark。
158 0
|
7月前
|
SQL 分布式计算 Java
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?
如何在 hive udf 中访问配置数据-踩坑记录,方案汇总与对比-udf中可以写sql吗?
|
7月前
|
SQL 分布式计算 关系型数据库
Hive-安装与配置(1)
Hive-安装与配置(1)
165 0
|
8月前
|
SQL 存储 分布式计算
大数据Hive参数配置
大数据Hive参数配置
95 0
|
9月前
|
SQL 分布式计算 Hadoop
配置开启Hive远程连接
使用IDEA工具远程连接Hive,首先需要配置开启Hive远程连接支持,主要有2种方式来配置开启Hive远程连接。
221 0
配置开启Hive远程连接