当前位置:   article > 正文

设置hive执行引擎为Tez_hive.execution.engine=tez

hive.execution.engine=tez

我们知道hive默认计算引擎为MR,而MR的特性决定了它的运算速度并不是太让人满意。在此将其运算引擎修改为Tez(当然在此需要先安装Tez),Tez基于内存的计算使得hive可以有更高的运算效率。

安装配置如下:

在此假设已经安装好基础hadoop、hive集群。

Tez下载解压

1、下载tez的依赖包:http://tez.apache.org

2、解压缩apache-tez-0.9.1-bin.tar.gz到对应目录并改名

 tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /usr/SFT/
 mv apache-tez-0.9.1-bin  tez-0.9.1
  • 1
  • 2

在Hive中配置Tez

3、在hive安装目录conf/hive-env.sh文件中确保有如下配置

# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/usr/SFT/hadoop-2.7.2

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/SFT/hive-1.2.1/conf

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export TEZ_HOME=/usr/SFT/tez-0.9.1
export TEZ_JARS=""
for jar in `ls $TEZ_HOME |grep jar`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar
done
for jar in `ls $TEZ_HOME/lib`; do
    export TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar
done

export HIVE_AUX_JARS_PATH=$TEZ_JARS
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

4、在hive-site.xml文件中添加如下配置以更改hive计算引擎为tez(默认为MR)

<property>
  <name>hive.execution.engine</name>
  <value>tez</value>
</property>
  • 1
  • 2
  • 3
  • 4

5、 配置Tez
在Hive的conf目录下创建tez-site.xml文件并添加如下内容

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
	<name>tez.lib.uris</name> 
 <value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
<property>
	<name>tez.lib.uris.classpath</name> 
 	<value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
<property>
     <name>tez.use.cluster.hadoop-libs</name>
     <value>true</value>
</property>
<property>
     <name>tez.history.logging.service.class</name>   
     <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

6、上传Tez到集群(也可以直接上传压缩包到hdfs上,此时注意路径配置)

hadoop fs -mkdir /tez
hadoop fs -put /usr/SFT/tez-0.9.1/ /tez
  • 1
  • 2

7、测试
1)启动Hive(发现已经绑定了Tez)
bin/hive
在这里插入图片描述
在这里插入图片描述
8、因为Tez需要基于内存计算,在启动任务前会进行内存检查(检查依据为map与reduce任务所需内存总和),若内存不够时会杀死执行进程。在内存资源预算有限时可以关闭虚拟机内存检查;修改yarn-site.xml如下:

<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/539627
推荐阅读
相关标签
  

闽ICP备14008679号