版本:hadoop2.7.2+hive1.2.1+tez0.8.4
1.下载tez src
解压,修改pom.xml,将hadoop.version改为2.7.2
,最好用非root用户编译,有可能有些资源下载不下来,需要翻墙。。。orz。。。
mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
2.编译成功后,在tez-dist/target目录下,能够发现如下文件
archive-tmp maven-archiver tez-0.8.4 tez-0.8.4-minimal tez-0.8.4-minimal.tar.gz tez-0.8.4.tar.gz tez-dist-0.8.4-tests.jar
3.将tez-0.8.4-minimal上传到hdfs上,本例中上传到/user/hadoop/tez目录下
4.配置hive-tez.xml文件
<?xml version="1.0"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>hdfs://sdf-cluster/user/hadoop/tez/tez-0.8.4-minimal,hdfs://sdf-cluster/user/hadoop/tez/tez-0.8.4-minimal/lib</value>
</property>
<property>
<name>tez.lib.uris.classpath</name> <value>$HADOOP_CONF_DIR,$HADOOP_COMMON_HOME/share/hadoop/common/*,$HADOOP_COMMON_HOME/share/hadoop/common/lib/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/*,$HADOOP_HDFS_HOME/share/hadoop/hdfs/lib/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*,$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*,$HADOOP_YARN_HOME/share/hadoop/yarn/*,$HADOOP_YARN_HOME/share/hadoop/yarn/lib/*</value>
</property>
</configuration>
5.在客户端安装tez-0.8.4-minimal,并且在conf目录下建立tez-site.xml并正确配置
6.在hive的客户端配置环境变量 (可以配置到/etc/profile位置,也可以配置到hive-env.sh中)
export TEZ_HOME=/usr/local/tez
export TEZ_CONF_DIR=/usr/local/tez/conf
export TEZ_JARS=/usr/local/tez/
export HADOOP_CLASSPATH=${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
7.在hive-site.xml中配置参数
<property>
<name>hive.user.install.directory</name>
<value>/tmp</value>
</property>
8.hive启动后执行
set hive.execution.engine=tez;
即可运行hive on tez任务。