1.安装包准备
(1)下载 Tez 的依赖包。 下载地址http://archive.apache.org/dist/tez/
这里选择0.9.1的版本apache-tez-0.9.1-bin.tar.gz
(2)复制 apache-tez-0.9.1-bin.tar.gz 到 hadoop102 节点的/opt/software
目录下。
[xiong@hadoop102 software]$ ll
总用量 125992
-rw-r--r--. 1 root root 67938106 3月 24 19:07 apache-flume-1.9.0-bin.tar.gz
-rw-r--r--. 1 root root 61074757 4月 8 13:16 apache-tez-0.9.1-bin.tar.gz
(3)解压 apache-tez-0.9.1-bin.tar.gz 至/opt/module
目录下。
[xiong@hadoop102 software]$ tar -zxvf apache-tez-0.9.1-bin.tar.gz -C /opt/module
(4)修改名称。
[xiong@hadoop102 module]$ mv apache-tez-0.9.1-bin/ tez-0.9.1
2.在 Hive 中配置 Tez
(1)进入 Hive 的配置目录/opt/module/hive/conf
(2)在 hive-env.sh 文件中添加 Tez 环境变量配置和依赖包环境变量配置。
[xiong@hadoop102 conf]$ vim hive-env.sh
添加如下配置。
# 设置 Hadoop 集群的安装目录
export HADOOP_HOME=/opt/module/hadoop-3.1.3
# 设置 Hive 的配置文件目录
export HIVE_CONF_DIR=/opt/module/hive/conf
# 设置运行 Tez 环境所需的 jar 包路径
export TEZ_HOME=/opt/module/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=/opt/module/hadoop-3.1.3/share/hadoop/common/hadoop-lzo-0.4.20.jar$TEZ_JARS
(3)在 hive-site.xml 文件中添加如下配置,更改 Hive 的计算引擎为 Tez。
<property>
<name>hive.execution.engine</name>
<value>tez</value>
</property>
3.配置 Tez 在 Hive 的/opt/module/hive/conf
目录下创建一个 tez-site.xml 文件。
[xiong@hadoop102 conf]$ cd /opt/module/hive/conf
[xiong@hadoop102 conf]$ vim tez-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
#配置 Tez 中使用的 uris 的 jar 包路径
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/tez/tez-0.9.1,${fs.defaultFS}/tez/tez-0.9.1/lib</value>
</property>
#配置 Tez 中使用的 uris 的类路径
<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>
#是否使用 Hadoop 依赖
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
#配置 Tez 自己的历史服务器
<property>
<name>tez.history.logging.service.class</name>
<value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
</property>
</configuration>
4.上传 Tez 到集群 将/opt/module/tez-0.9.1
上传到 HDFS 的/tez
目录下。
[xiong@hadoop102 conf]$ hadoop fs -mkdir /tez
[xiong@hadoop102 conf]$ hadoop fs -put /opt/module/tez-0.9.1/ /tez
查看
[xiong@hadoop102 /]$ hadoop fs -ls /tez
Found 1 items
drwxr-xr-x - xiong supergroup 0 2022-04-08 13:44 /tez/tez-0.9.1
5.测试
(1)启动hive后台服务并查看服务状态
[xiong@hadoop102 /]$ hiveservices.sh start
[xiong@hadoop102 /]$ hiveservices.sh status
Metastore 服务运行正常
HiveServer2 服务运行正常
(2)启动 Hive
[xiong@hadoop102 hive]$ pwd
/opt/module/hive
[xiong@hadoop102 hive]$ bin/hive
hive (default)>
(3)创建 LZO 表。
hive (default)> drop table if exists student;
create table student( id int, name string);
(4)向表中插入数据。
hive (default)> insert into student values(1,"zhangsan");