安装Tez 0.9.0
安装这个东西,花了3天时间..............
网上找的资料大部分都是要么低版本的,要么写很乱,又不详细..........
走了许多弯路,最后在大神的帮助下,完成了tez0.9.0的安装。希望对大家有帮助!
一、首先到官网下载tez0.9.0-bin.tar.gz版本的压缩包
这里选择bin包的原因是不需要手动地去编译,节省时间
二、上传到master机器的安装位置,解压
解压后的文件夹名为:apache-tez-0.9.0-bin,在apache-tez-0.9.0-bin/share下有个tez.tar.gz 压缩包
把它put到hdfs上面
记得先启动hadoop
hadoop fs -mkdir -p /user/tez
hadoop fs -put tez.tar.gz /user/tez
三、在hadoop安装目录下的/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> <!-- 这里是因为我机器内存不足,而添加的参数 -->
<value>0.2</value>
</property>
</configuration>
四、同上目录下,设置mapred-site.xml,把yarn修改为yarn-tez
<configuration>
<property>
<name>mapreduce.framework.name</name>
<!-- <value>yarn</value> -->
<value>yarn-tez</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master.hadoop:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master.hadoop:10020</value>
</property>
<property>
</configuration>
五、同目录下,修改hadoop-env.sh ,在末尾添加
TEZ_CONF_DIR=hadoop安装位置/etc/hadoop/tez-site.xml
tez是我把apache-tez-0.9.0-bin重命名的名称,没有重命名的,下面配置注意下即可
TEZ_CONF_DIR=/usr/local/src/hadoop/etc/hadoop/tez-site.xml
TEZ_JARS=/usr/local/src/tez
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
例如:
scp -r tez-site.xml root@192.168.202.129:/usr/local/src/hadoop/etc/hadoop/
七、重启hadoop
八、准备测试文件
在master非安装目录下,新建file01,file02 文件
echo "Hello World Hello Tez" > file01
echo "Hello World Goodbye Tez" > file02
然后将它们put到hdfs中
hadoop fs -mkdir -p /user/ceshi/tez_input
hadoop fs -put file01 file02 /user/ceshi/tez_input
九、进行测试,看看是否安装成功
cd tez
hadoop jar tez-examples-0.9.0.jar orderedwordcount /user/ceshi/tez_input /user/ceshi/tez_output
执行无误后,查看/user/ceshi/tez_output下的文件
在网页上输入http://192.168.202.128:8088/cluster 也可查看状态及运行计算类型(IP为master主机IP)
本次安装到此结束!
十、如果想让hive的计算引擎修改为tez,只需要在启动hadoop的情况下,启动hive,进行设置即可:
进入hive后
set hive.execution.engine=tez;
然后执行sql语句即可进行测试,如下图
如果恢复使用mapreduce,输入set hive.execution.engine=mr;
安装过程其它错误:
1.把刚下载好的apache-tez-0.9.0-bin.tar.gz包,直接丢到hdfs上。是错误的做法!
运行报错说,找不到DAG那个类
应该先把它解压,然后把apache-tez-0.9.0-bin/share/目录下的 tez-tar.gz丢到hdfs上才对
2.机器内存不足问题,需要修改tez-site.xml文件,如不添加会出现如下错误:
<property>
<name>tez.container.max.java.heap.fraction</name>
<value>0.2</value>
</property>
具体值是多少,根据自己内存而定
3.不小心在配置hadoop-env.sh 时,把之前的HADOOP_CLASSPATH覆盖了,后面无法启动其它应用(hive,hbase等)
启动hive报错:
原来,当时配置hadoop-env.sh的时候,把以前的HADOOP_CLASSPATH覆盖了。添加上即可
淡腾的是,官网上写的步骤,真不详细,花了很多时间排错