为了更高效地运行存在依赖关系的作业(比如Pig和Hive产生的MapReduce作业),减少磁盘和网络IO,Hortonworks开发了DAG计算框架Tez。
Tez是从MapReduce计算框架演化而来的通用DAG计算框架,可作为MapReduceR/Pig/Hive等系统的底层数据处理引擎,它天生融入Hadoop 2.0中的资源管理平台YARN,且由Hadoop 2.0核心人员精心打造,势必将会成为计算框架中的后起之秀
需要的部分库和工具包gcc make gcc-c++ openssl 其中有两个phantomjs-2.1.1-linux-x86_64和 nodejs安装会浪费点时间
官网下载TEZ源码后解压编译
注意更改pom中hadoop version或在mvn中设定自己hadoop版本
mvn package -Dhadoop.version=2.7.2 -DskipTests -Dmaven.javadoc.skip=true
1.使用tez-dist/target/中的tez-0.8.4-minimal.tar.gz,在本地解压在/opt/single/tez,
在$TEZ_HOME下建立conf,创建tez-site.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>hdfs://hadoop:9000/apps/tez-0.8.4/tez-0.8.4-minimal.tar.gz</value>
</property>
<property>
<name>tez.use.cluster.hadoop-libs</name>
<value>true</value>
</property>
</configuration>
2.设置linux的环境变量
export TEZ_HOME=/opt/single/tez
export TEZ_CONF_DIR=$TEZ_HOME/conf
export TEZ_JARS=$TEZ_HOME
3.在hadoop-env.sh中添加如下:
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_CONF_DIR:$TEZ_JARS/*:$TEZ_JARS/lib/*
mapred-size.xml设置
<property>
<name>mapreduce.framework.name</name>
<value>yarn-tez</value>
</property>
4.启动hadoop将编译的tez-0.8.4-minimal.tar.gz上传到hdfs://hadoop:9000/apps/tez-0.8.4/目录下
5.关于TEZ UI的设置如下:
在yarn-site.xml中添加:
<property>
<name>yarn.timeline-service.enabled</name>
<value>true</value>
</property>
<property>
<name>yarn.timeline-service.hostname</name>
<value>hadoop</value>
</property>
<property>
<name>yarn.timeline-