文章目录
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>
如图
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/*
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 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