1.上传安装包

这里直接选择bin包,省去编译的麻烦

put c:/apache-tez-0.9.1-bin.tar.gz

2.解压

tar -xzvf apache-tez-0.9.1-bin.tar.gz -C /home/hadoop/apps/

3.上传tar包到hdfs

首先创建一个文件夹

hdfs dfs -mkdir /user/tez

将tez文件夹里share文件夹下的tez.tar.gz上传上去

hdfs dfs -put /home/hadoop/apps/apache-tez-0.9.1-bin/share/tez.tar.gz /user/tez/

4.修改配置文件

4.1tez-site.xml
cd /home/hadoop/apps/hadoop-2.7.6/etc/hadoop

新建一个tez-site.xml,添加下面的配置

vi tez-site.xml
<configuration>
	<property>
		<name>tez.lib.uris</name>
		<value>${fs.defaultFS}/user/tez/tez.tar.gz</value>
		<!-- 这里指向hdfs上的tez.tar.gz包 -->
	</property>
	<property>
		<name>tez.container.max.java.heap.fraction</name>
		<!-- Tez的配置参数 -->
		<value>0.2</value>
	</property>
</configuration>
4.2mapred-site.xml
vi mapred-site.xml

将mapreduce.framework.name项的value值yarn改为yarn-tez即可,保存退出

<!-- 指定 mr 框架为 yarn 方式 -->
<property>
 <name>mapreduce.framework.name</name>
 <!-- <value>yarn</value> -->
 <value>yarn-tez</value>
 <final>true</final>
</property>

如图

Hive on Tez 环境配置_xml

4.3hadoop-env.sh
vi hadoop-env.sh

按G跳到最后一行,在末尾添加,TEZ_CONF_DIR与TEZ_JARS改成自己路径,剩下的直接复制即可,保存退出

TEZ_CONF_DIR=/home/hadoop/apps/hadoop-2.7.6/etc/hadoop/etc/hadoop/tez-site.xml
TEZ_JARS=/home/hadoop/apps/apache-tez-0.9.1-bin
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*

Hive on Tez 环境配置_hive_02

5.远程发送配置文件

sudo scp -r tez-site.xml hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r mapred-site.xml hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r hadoop-env.sh hadoop02:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r tez-site.xml hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r mapred-site.xml hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop
sudo scp -r hadoop-env.sh hadoop01:/home/hadoop/apps/hadoop-2.7.6/etc/hadoop

6.测试Tez

首先自行重启hadoop集群,然后启动hive,我这里直接在hive启动的时候指定了引擎,也可以启动了hive再用set命令指定引擎

hive -hiveconf hive.execution.engine=tez

这里直接随便找一个表使用count聚合函数来测试,前提是表里面至少有一条数据

select count(*) from default.stu;

可以看到Tez的界面

Hive on Tez 环境配置_xml_03

至此安装成功!

附:Hive shell脚本的使用方法

如果你每次启动hive都要设置参数,比如打印表头set hive.cli.print.header=true,本地模式set hive.exec.mode.local.auto=true那这里可以帮到你

为了让脚本在所有地方都能运行,我将脚本新建在hive的bin目录下

cd $HIVE_HOME/bin

新建一个shell脚本文件

vi hive2

可以根据需求来设置脚本内容,我这里是启动hive时设置了打印表头与指定了Tez引擎,写好之后保存退出即可

#!/bin/bash
hive --hiveconf hive.cli.print.header=true --hiveconf hive.execution.engine=tez

然后设置一下脚本的权限

chmod 764 hive2

这下就可以随处运行hive2命令了,这样就不用每次启动hive都指定参数了,觉得好用请给博主一个赞!

hive2