Tez 0.9安装部署+hive on tez配置 + Tez-UI

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.urisname>  
<value>${fs.defaultFS}/user/tez/tez.tar.gzvalue>    
property>  
<property>  
<name>tez.container.max.java.heap.fractionname>    
<value>0.2value>  
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; 

Tez 0.9安装部署+hive on tez配置 + Tez-UI_第1张图片

如果想要恢复使用mapreduce

set hive.execution.engine=mr;

Tez 0.9安装部署+hive on tez配置 + Tez-UI_第2张图片

(从时间讲,速度似乎是快了三倍。yummm~~~)

8.在配置文件中设置执行引擎为tez
如果不想每次进入hive都

set hive.execution.engine=tez; 

可以在hive的conf目录下修改hive-site.xml

vi hive-site.xml

Tez 0.9安装部署+hive on tez配置 + Tez-UI_第3张图片
保存之后再重启,再执行操作就会默认执行引擎为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

Tez 0.9安装部署+hive on tez配置 + Tez-UI_第4张图片

3.配置timelineserver
目录:/usr/local/hadoop/etc/hadoop

vim yarn-site.xml添加以下内容.然后分发到各个节点。


   <property>
        <name>yarn.timeline-service.enabledname>
        <value>truevalue>
   property>
   <property>
        <name>yarn.timeline-service.hostnamename>
        <value>tmastervalue>
   property>
   <property>
        <name>yarn.timeline-service.http-cross-origin.enabledname>
        <value>truevalue>
   property>
   <property>
        <name> yarn.resourcemanager.system-metrics-publisher.enabledname>
        <value>truevalue>
   property>
   <property>
        <name>yarn.timeline-service.generic-application-history.enabledname>
        <value>truevalue>
   property>
   <property>
        <description>Address for the Timeline server to start the RPC server.description>
        <name>yarn.timeline-service.addressname>
        <value>tmaster:10201value>
   property>
   <property>
        <description>The http address of the Timeline service web application.description>
        <name>yarn.timeline-service.webapp.addressname>
        <value>tmaster:8188value>
   property>
   <property>
        <description>The https address of the Timeline service web application.description>
        <name>yarn.timeline-service.webapp.https.addressname>
        <value>tmaster:2191value>
   property>
   <property>
        <name>yarn.timeline-service.handler-thread-countname>
        <value>24value>
   property>

vim tez-site.xml添加下列几行,分发到各个节点。


    <property>
        <name>tez.history.logging.service.classname>
        <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingServicevalue>
    property>
    <property>
        <name>tez.tez-ui.history-url.basename>
        <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/
Tez 0.9安装部署+hive on tez配置 + Tez-UI_第5张图片


参考资料:
1.Tez网站
2.Tez设计文档
3.The Stinger Initiative: Making Apache Hive 100 Times Faster
4.hive on tez

你可能感兴趣的:(Tez,hive)