Apache Tez介紹,術語,安裝,監控等

目錄
1 Apache Tez 1
1.1 Apache Tez介紹 1
1.2 術語介紹 1
1.3 軟件準備 2
1.4 設置tez-ui 3
1.4.1 找到war包 3
1.4.2 將tez-ui部署在tomcat 4
1.4.3 配置timelineserver 5
1.4.4 啓動hadoop 6
1.4.5 5.啓動timelineserver 6
1.4.6 啓動tomcat 7
1.5 參考資料 7

1 Apache Tez

1.1 Apache Tez介紹

爲了高效地運行存在依賴關係的作業(比如Pig和Hive產生的MapReduce作業),減少磁盤和網絡IO,Hortonworks開發了DAG計算框架Tez.Tez是從MapReduce計算框架演化而來的通用DAG計算框架,可作爲MapReduceR/Pig/Hive等系統的底層數據處理引擎,它天生融入Hadoop 2.0中的資源管理平臺YARN,且由Hadoop 2.0核心人員精心打造。
Tez有以下幾個特色:

(1)	豐富的數據流(dataflow,NOT Streaming)編程接口。
(2)	擴展性良好的”Input-Processor-Output”運行模型。
(3)	簡化數據部署(充分利用YARN框架,Tez本身僅是一個客戶端編程庫,無序事先部署相關服務)
(4)	性能優於MapReduce.
(5)	優化的資源管理(直接運行在資源管理系統YARN之上)
(6)	動態生成物理數據流(dataflow).

1.2 術語介紹

可類比數據庫中的概念理解這些術語,比如數據庫中的邏輯計劃和物理計劃:Job Vertex、Job Edge和Static Plan屬於邏輯計劃概念;Vertex、Edge和Dynamic Plan屬於物理計劃概念。

(1)Job Vertex:作業規劃中的一個階段(Stage);
(2) Job Edge:兩個不同Job Vertex之間的邏輯關聯;
(3) Vertex: 運行時生成的物化階段,由若干個可以執行的Task構成;
(4) Edge: Task之間數據移動方式;
(5) Task: 能夠完成計算任務的線程,實際運行在YARN Container中;
(6) Task cardinality: 任務基數,即Vertex產生的Task數目
(7)  Static plan: 作業提交時確定的邏輯執行計劃
(8) Dynamic plan:在ApplicationMaster執行時產生的物理執行計劃

1.3 軟件準備

下載Tez,下載地址:http://tez.apache.org/releases/index.html,點擊其中一個版本,進行下載。

1、下載一個bin版本。並將之放到Linux上的:/home/software
2、解壓bin目錄到/home/installed目錄下面,命令如下:

tar -zxvf apache-tez-0.9.2-bin.tar.gz -C /home/installed/

3、在HDFS上新建文件夾/usr/tez,然後將tez的解壓目錄中的apache-tez-0.9.2-

bin/share/tez.tar.gz上傳到/usr/tez中。具體名另個如下:
hdfs fs -mkdir -p /usr/tez
cd /home/installed/apache-tez-0.9.2-bin/share
hdfs fs -put tez.tar.gz /usr/tez

4、在hadoop配置文件的目錄中etc/hadoop下vim tez-site.xml,加入如下配置,指定tez.tar.gz壓縮包在hdfs上的路徑。

<configuration>
    <property>
        <name>tez.lib.uris</name>
        <!-- 這裏指向hdfs上的tez.tar.gz包 -->
        <value>hdfs://hadoop1:9000/usr/tez/tez.tar.gz</value>
    </property>
    <property>
        <!-- 這裏是因爲我機器內存不足,而添加的參數 -->
        <name>tez.container.max.java.heap.fraction</name>
        <value>0.8</value>
    </property>
</configuration>

5、vim hadoop-env.sh,在文件最後添加如下內容:

TEZ_CONF_DIR=/home/installed/hadoop-2.8.5/etc/hadoop/tez-site.xml
TEZ_JARS=/home/installed/apache-tez-0.9.2-bin
export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*

重啓hadoop

6、運行hive,設置如下參數:

set hive.execution.engine=tez;

如果想要恢復使用mapreduce。進行如下參數的設置:

set hive.execution.engine=mr;

也可以通過此種方式進行設置

set mapreduce.framework.name = yarn-tez;

7、在配置文件中設置執行引擎爲tez
如果不想每次進入hive都設置:set hive.execution.engine=tez;可以在hive的conf目錄下修改hive-site.xml
在這裏插入圖片描述
保存之後再重啓,再執行操作就會默認執行引擎爲tez了。

1.4 設置tez-ui

需要先安裝Tomcat

1.4.1 找到war包

下載:tez-ui-0.9.2.war
下載位置:https://repository.apache.org/content/repositories/releases/org/apache/tez/tez-ui/
在這裏插入圖片描述

1.4.2 將tez-ui部署在tomcat

#在webapps下創建tez-ui目錄
mkdir /home/installed/apache-tomcat-8.5.45/webapps/tez-ui

#進入文件
cd /home/installed/apache-tomcat-8.5.45/webapps/tez-ui

#解壓war包
unzip tez-ui-0.9.2.war

#編輯配置文件
vim config/configs.env

在這裏插入圖片描述

1.4.3 配置timelineserver

目錄:/home/installed/hadoop-2.8.5/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>hadoop1</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>hadoop1:10201</value>
</property>
<property>
	<description>The http address of the Timeline service web application.</description>
	<name>yarn.timeline-service.webapp.address</name>
	<value>hadoop1:8188</value>
</property>
<property>
	<description>The https address of the Timeline service web application.</description>
	<name>yarn.timeline-service.webapp.https.address</name>
	<value>hadoop1: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.106.158:8080/tez-ui/</value>
</property>

1.4.4 啓動hadoop

1.4.5 啓動timelineserver

cd $HADOOP_HOME
sbin/yarn-daemon.sh start timelineserver

1.4.6 啓動tomcat

/home/installed/apache-tomcat-8.5.45/bin/startup.sh

訪問界面
http://192.168.106.158:8080/tez-ui/
在這裏插入圖片描述

1.5 參考資料

1.Tez網站(http://tez.apache.org/)
2.Tez設計文檔(https://issues.apache.org/jira/browse/TEZ-65)
3.The Stinger Initiative: Making Apache Hive 100 Times Faster (https://blog.cloudera.com)
4.hive on tez(https://cwiki.apache.org/confluence/display/Hive/Hive+on+Tez)

博文介紹:
https://blog.csdn.net/u011596455/article/details/86557990

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章