hive使用tez的时候tez的配置

来源:互联网 发布:珠宝软件有哪些 编辑:程序博客网 时间:2024/04/27 13:47
tez没有编译好的tar包要自己编译,示例是编译0.7版本
编译方法在 tez源码的根目录下
(hadoop版本为 2.6)
执行 mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
(hadoop版本为 2.5.0)
mvn package  -Dhadoop.version=2.5.0 -Phadoop24 -P\!hadoop26 -DskipTests=true -Dmaven.javadoc.skip=true
编译完成如下
[INFO]
[INFO] tez ................................................ SUCCESS [  5.104 s]
[INFO] tez-api ............................................ SUCCESS [ 44.698 s]
[INFO] tez-common ......................................... SUCCESS [  2.231 s]
[INFO] tez-runtime-internals .............................. SUCCESS [  4.124 s]
[INFO] tez-runtime-library ................................ SUCCESS [  7.596 s]
[INFO] tez-mapreduce ...................................... SUCCESS [  3.292 s]
[INFO] tez-examples ....................................... SUCCESS [  0.887 s]
[INFO] tez-dag ............................................ SUCCESS [ 12.150 s]
[INFO] tez-tests .......................................... SUCCESS [  1.348 s]
[INFO] tez-ui ............................................. SUCCESS [ 43.326 s]
[INFO] tez-plugins ........................................ SUCCESS [  0.116 s]
[INFO] tez-yarn-timeline-history .......................... SUCCESS [  1.425 s]
[INFO] tez-mbeans-resource-calculator ..................... SUCCESS [  1.028 s]
[INFO] tez-tools .......................................... SUCCESS [  0.240 s]
[INFO] tez-dist ........................................... SUCCESS [02:01 min]
[INFO] Tez ................................................ SUCCESS [  0.116 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 04:11 min
[INFO] Final Memory: 40M/154M
编译好的文件在 tez-dist/target下
[root@cdh5 apache-tez-0.7.0-src]# cd tez-dist/target/
目录结构如下
[root@cdh5 target]# ls
archive-tmp  maven-archiver  tez-0.7.0  tez-0.7.0-minimal.tar.gz  tez-0.7.0.tar.gz  tez-dist-0.7.0-tests.jar

方法一 根据官网的配置方法
http://tez.apache.org/install.html
1.在hdfs上创建一个目录 如 /app/tez 
hadoop fs -mkdir -p  /app/tez 
2.把编译好的tez的tar包  tez-0.7.0.tar.gz  上传到hdfs上创建的目录
hadoop fs -put  tez-0.7.0.tar.gz  /app/tez 
3.在需要hivejdbc连接的hiveserver端的某个目录如 /data/tez/conf 创建一个文件 tez-site.xml配置如下(如果使用hive cli客户端在客户端节点配置)
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
       <name>tez.lib.uris</name>
       <value>${fs.defaultFS}/app/tez/tez-0.7.0.tar.gz</value>
    </property>
</configuration>
4.在需要hivejdbc连接的hiveserver端的某个目录如 /data/tez/ 下解压编译完成后的 tez-0.7.0-minimal.tar.gz 
tar -xzvf tez-0.7.0-minimal.tar.gz -C /data/tez/ 
5.配置tez-site.xml 和 tez-0.7.0-minimal.tar.gz解压后的目录环境变量
export TEZ_JARS=/data/tez/
export TEZ_CONF_DIR=/data/tez/conf
6.修改当前的$HADOOP_HOME/etc/hadoop/hadoop-env.sh
加上 export HADOOP_CLASSPATH=$TEZ_JARS/*:$TEZ_JARS/lib/*:$HADOOP_CLASSPATH:$TEZ_CONF_DIR


方法二 也可以不指定环境变量
进行完方法一的 1、2、3、4步骤后
5、把tez-site.xml放到hive的conf目录下(hadoop的配置目录也可)
cp /data/tez/conf/tez-site.xml $HIVE_HOME/conf  
cp /data/tez/conf/tez-site.xml $HADOOP_HOME/etc/hadoop/
6、把解压后的tar目录下的 tez开头的jar包和 lib/commons-collections4-4.0.jar 拷贝到hive的lib目录下
cp /data/tez/tez-*.jar $HIVE_HOME/lib
cp /data/tez/lib/commons-collections4-4.0.jar$HIVE_HOME/lib
就可以在hive执行tez模式,如果报错重启hiveserver服务即可
0 0