安装Tez引擎
附件包在本文末尾
一、Tez是什么?
Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。
用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。
二、安装Tez
- 将tez安装包拷贝到集群
- 解压tar包
tar -zxvf /opt/software/apache-tez-0.9.2-bin.tar.gz -C /opt/module
- 重命名
mv /opt/module/apache-tez-0.9.2-bin /opt/module/tez
- 上传tez依赖到HDFS
hadoop fs -mkdir /tez
hadoop fs -put /opt/module/tez/share/tez.tar.gz /tez
- 新建tez-site.xml
vim $HADOOP_HOME/etc/hadoop/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.tar.gz</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>false</value>
</property>
<property>
<name>tez.history.logging.service.class</name>
<value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property></configuration>
- 修改Hadoop环境变量
编辑hadoop-env.sh
vim $HADOOP_HOME/etc/hadoop/hadoop-env.sh
添加Tez的Jar包相关信息
export TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoop
export TEZ_JARS=/opt/module/tez
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
- 修改Hive的计算引擎
vim $HIVE_HOME/conf/hive-site.xml
添加
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
- 解决日志Jar包冲突
rm /opt/module/tez/lib/slf4j-log4j12-1.7.10.jar
三、附件包
链接: https://pan.baidu.com/s/1D4G5WkuVQSRnhLv3ic3tlg 密码: uaho
二维码:
版权声明:
作者:十下
链接:http://blog.edkso.cn/?p=211
来源:十下博客
文章版权归作者所有,未经允许请勿转载。