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

发布了1047 篇原创文章 · 获赞 328 · 访问量 385万+

猜你喜欢

转载自blog.csdn.net/toto1297488504/article/details/102601137