Tez简介及安装

24 Mar 2021

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

https://tez.apache.org

架构

Tez的task由Input、processor、output阶段组成,可以表达所有复杂的map、 reduce操作,如下图:

安装部署

1、下载软件包:apache-tez-0.9.2-bin.tar.gz(https://tez.apache.org/releases/apache-tez-0-9-2.html)

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 文件,做如下配置:

<?xml version="1.0" encoding="UTF-8"?>  
<configuration>  
<!-- 指定在hdfs上的tez包文件 -->   
		<property>  
        <name>tez.lib.uris</name>  
        <value>hdfs://centos7-1:9000/user/tez/tez.tar.gz</value>  
    </property>  
</configuration>  

保存后将文件复制到集群所有节点

5、增加客户端节点的配置(/etc/profile)

# Tez  
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop  
export TEZ_CONF_DIR=$HADOOP_CONF_DIR  
export TEZ_JARS=/opt/lagou/servers/tez-0.9.2/*:/opt/lagou/servers/tez-0.9.2/lib/*   
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH  

需要只有启动hive的机器才需要配置,同时需要存有tez安装包

6、Hive设置Tez执行

hive> set hive.execution.engine=tez;  

7、如果想默认使用Tez,可在$HIVE_HOME/conf目录下hive-site.xml 中增加

<property>  
    <name>hive.execution.engine</name>  
    <value>tez</value>  
</property>