安装Tez引擎

安装Tez引擎

附件包在本文末尾

一、Tez是什么?

Tez是一个Hive的运行引擎,性能优于MR。为什么优于MR呢?看下图。

file

用Hive直接编写MR程序,假设有四个有依赖关系的MR作业,上图中,绿色是Reduce Task,云状表示写屏蔽,需要将中间结果持久化写到HDFS。
Tez可以将多个有依赖的作业转换为一个作业,这样只需写一次HDFS,且中间节点较少,从而大大提升作业的计算性能。

二、安装Tez

  1. 将tez安装包拷贝到集群

  2. 解压tar包

    tar -zxvf /opt/software/apache-tez-0.9.2-bin.tar.gz -C /opt/module
  3. 重命名

    mv /opt/module/apache-tez-0.9.2-bin /opt/module/tez
  4. 上传tez依赖到HDFS

    hadoop fs -mkdir /tez
    hadoop fs -put /opt/module/tez/share/tez.tar.gz /tez
  5. 新建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>
  6. 修改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/*
  7. 修改Hive的计算引擎

    vim $HIVE_HOME/conf/hive-site.xml

    添加

    <property>
    <name>hive.execution.engine</name>
    <value>tez</value>
    </property>
  8. 解决日志Jar包冲突

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

三、附件包

链接: https://pan.baidu.com/s/1D4G5WkuVQSRnhLv3ic3tlg 密码: uaho
二维码:
file

版权声明:
作者:十下
链接:http://blog.edkso.cn/?p=211
来源:十下博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>