hive on Tez 搭建
前提是hive4.0+hadoop3.2.2数仓已搭建完成,现在只是更换其执行引擎 为Tez。搭建可参考【数据仓库】hive + hadoop数仓搭建实践文章。
Tez 下载
下载地址
https://archive.apache.org/dist/tez/
官网地址
https://tez.apache.org/releases/apache-tez-0-10-3.html
这里使用Tez0.10.3版本,下载地址:
https://archive.apache.org/dist/tez/0.10.3/apache-tez-0.10.3-bin.tar.gz
安装配置
# 解压
tar -zxvf apache-tez-0.10.3-bin.tar.gz
# 改名
mv apache-tez-0.10.3-bin tez-0.10.3
在hive/conf/hive_env.sh,增加如下配置:
export TEZ_HOME=/home/datahouse/tez-0.10.3
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=/opt/modules/hadoop/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS
export HIVE_AUX_JARS_PATH=$TEZ_JARS
HIVE_AUX_JARS_PATH的配置不能少,不然hive启动时无法找到tez的包,这个配置变量就是用来加载hive以外的第三方包的。
在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.10.3,${fs.defaultFS}/tez/tez-0.10.3/lib</value>
</property>
<property>
<name>tez.lib.uris.classpath</name>
<value>${fs.defaultFS}/tez/tez-0.10.3,${fs.defaultFS}/tez/tez-0.10.3/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>