Tez说明
将xyz替换为您正在使用的tez发行版号。例如0.5.0。对于Tez版本0.8.3和更高版本,Tez需要Apache Hadoop版本为2.6.0或更高版本。对于Tez版本0.9.0及更高版本,Tez需要Apache Hadoop版本为2.7.0或更高版本。
关于版本
1.Hadoop 2.7.0+(我的是2.7.1)
2.Tez还需要Protocol Buffers 2.5.0,包括protoc编译器。(如果你下载的是apache-tez-0.9.0-src.tar.gz包则需要编译,需要Protocol Buffers 2.5.0)
3.Maven3+
4.Hive 2.1.1
5.tez-0.9.0
protobuf-2.5.0安装
(注:如果下载的是apache-tez-0.9.0-bin.tar.gz则不需要编译。可以跳过这一步,建议下载bin)
1.下载源码
2.解压
tar -zxvf protobuf-2.5.0.tar.gz
3.编译安装
cd protobuf-2.5.0
./configure
make
make install
protoc --version #验证是否安装成功
安装部署tez
1.下载地址
这里可以选择
apache-tez-0.9.0-src.tar.gz
apache-tez-0.9.0-bin.tar.gz(建议下载这个,感觉src编译遇到好多问题。)
2.编译
a.方式一
我们先来说apache-tez-0.9.0-src.tar.gz
tar -zxvf apache-tez-0.9.0-src.tar.gz
#编译不能用root用户。
chmod -R 777 apache-tez-0.9.0-src
cd apache-tez-0.9.0-src
su elk
mvn -X clean package -DskipTests=true -Dmaven.javadoc.skip=true
b.方式二
apache-tez-0.9.0-bin.tar.gz(不需要编译)
tar -zxvf apache-tez-0.9.0-bin.tar.gz
cd apache-tez-0.9.0-bin
3.将tez的压缩包put到hdfs上去
a.方式一
所在文件目录
apache-tez-0.9.0-src/target
b.方式二
所在文件目录
apache-tez-0.9.0-bin/share
(注:后面的步骤就一样了)
hadoop fs -mkdir -p /user/tez
hadoop fs -put tez.tar.gz /user/tez
4.在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>
保存后将文件复制到别的节点
5.修改hadoop-env.sh追加下列几行
TEZ_CONF_DIR=/usr/local/hadoop/etc/hadoop/tez-site.xml
TEZ_JARS=/usr/local/tez/apache-tez-0.9.0-bin
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
保存后将hadoop-env.sh分发到集群的各个节点。
6.重启hadoop
7.启动hive
set hive.execution.engine=tez;
如果想要恢复使用mapreduce
set hive.execution.engine=mr;
(从时间讲,速度似乎是快了三倍。yummm~~~)
8.在配置文件中设置执行引擎为tez
如果不想每次进入hive都
set hive.execution.engine=tez;
可以在hive的conf目录下修改hive-site.xml
vi hive-site.xml
保存之后再重启,再执行操作就会默认执行引擎为tez了。
设置tez-ui
需要先安装Tomcat
1.找到war包
因为我安装的是bin所以在安装包中就有tez-ui-0.9.0.war
自己编译的话也有生成,在这里不做过多赘述。
2.将tez-ui部署在tomcat
#在webapps下创建tez-ui目录
mkdir /usr/local/apache/apache-tomcat-8.5.31/webapps/tez-ui#进入文件
cd /usr/local/apache/apache-tomcat-8.5.31/webapps/tez-ui#解压war包
unzip tez-ui-0.9.0.war#编辑配置文件
vim config/configs.env
3.配置timelineserver
目录:/usr/local/hadoop/etc/hadoop
vim yarn-site.xml添加以下内容.然后分发到各个节点。
<!-- conf timeline server --><property><name>yarn.timeline-service.enabled</name><value>true</value></property><property><name>yarn.timeline-service.hostname</name><value>tmaster</value></property><property><name>yarn.timeline-service.http-cross-origin.enabled</name><value>true</value></property><property><name> yarn.resourcemanager.system-metrics-publisher.enabled</name><value>true</value></property><property><name>yarn.timeline-service.generic-application-history.enabled</name><value>true</value></property><property><description>Address for the Timeline server to start the RPC server.</description><name>yarn.timeline-service.address</name><value>tmaster:10201</value></property><property><description>The http address of the Timeline service web application.</description><name>yarn.timeline-service.webapp.address</name><value>tmaster:8188</value></property><property><description>The https address of the Timeline service web application.</description><name>yarn.timeline-service.webapp.https.address</name><value>tmaster:2191</value></property><property><name>yarn.timeline-service.handler-thread-count</name><value>24</value></property>
- vim tez-site.xml添加下列几行,分发到各个节点。
<!--Configuring Tez to use YARN Timeline--><property><name>tez.history.logging.service.class</name><value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value></property><property><name>tez.tez-ui.history-url.base</name><value>http://192.168.205.70:8880/tez-ui/</value></property>
- 4.启动hadoop
5.启动timelineserver
yarn-daemon.sh start timelineserver
- 6.启动tomcat
/usr/local/apache/apache-tomcat-8.5.31/bin/startup.sh
- 访问界面
http://192.168.205.70:8880/tez-ui/
参考资料:
1.Tez网站
2.Tez设计文档
3.The Stinger Initiative: Making Apache Hive 100 Times Faster
4.hive on tez