分享

为Hadoop集群配置TEZ执行引擎

本帖最后由 helianthus 于 2016-4-4 14:53 编辑
        Apache tez是一个用于构建hadoop大数据处理应用程序的新型框架,它完全依赖yarn,因此必须基于hadoop2.x的版本安装。(关于tez的基本介绍可以参考http://www.infoq.com/cn/articles/apache-tez-saha-murthy:Apache Tez是什么?)
问题导读:
1.目前,hadoop的执行引擎都有哪些?
2.如何为hadoop配置tez执行引擎



为hadoop集群配置tez执行引擎的步骤如下(以0.8.2版本为例):
1.下载release版本的源码包
wget http://apache.opencas.org/tez/0.8.2/apache-tez-0.8.2-src.tar.gz
2.解压源码包:
tar zxvf apache-tez-0.8.2-src.tar.gz -C /opt/software/
3.修改hadoop版本:
cd /opt/software/apache-tez-0.8.2-src,在当前目录下编辑pom.xml文件,修改其中的hadoop-version为当前hadoop集群的版本(比如2.6.0);同样地,进入到cd /opt/software/apache-tez-0.8.2-src/tez-ui下,修改该目录下pom.xml文件中的hadoop-version为当前hadoop集群的版本
4.编译源码
退回到/opt/software/apache-tez-0.8.2-src目录下,执行mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true
(注意:这个编译的前提是要安装JDK6或者以上的版本,maven 3以上的版本)
如果网络比较慢,这个编译过程估计会比较漫长....;编译结束会在当前目录的tez-dist子目录下生成一个target目录,在该目录下包含的tez-0.8.2.tar.gz或者tez-0.8.2.minimal.tar.gz即为我们需要的编译后的tez二进制包。
5.上传tar.gz包到HDFS:
1) hadoop fs -mkdir -p /app/tez-0.8.2 --------<目录名根据实际情况起...随意...>

2) hadoop fs -put tez-0.8.2.tar.gz  /app/tez-0.8.2 (如果想要采用精简版本tez-0.8.2.minimal.tar.gz,这一步将tez-0.8.2.minimal.tar.gz上传到/app/tez-0.8.2,同时在后面的tez-site.xml中配置tez.use.cluster.hadoop-libs=true,否则就应该保证该参数值为false
6.[OPTIONAL]修改mapred-site.xml
这一步是可选项,如果想要在tez上运行mapreduce应用程序,需要将mapred-site.xml中的"mapreduce.framework.name"的值修改为"yarn-tez"
7.在hadoop客户端节点上将tez lib库配置到hadoop classpath:
1) 将第4步编译生成的tez-0.8.2.tar.gz解压到指定的$TEZ_HOME目录下(比如mkdir /opt/software/tez-0.8.2)
tar zxvf tez-0.8.2.tar.gz -C /opt/software/tez-0.8.2
2) 在/opt/software/tez-0.8.2下创建一个conf目录:mkdir conf
3) 进入conf目录,创建并编辑一个名为tez-site.xml的文件,在其中写入如下内容:[mw_shl_code=xml,true]<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>tez.lib.uris</name>
<value>${fs.defaultFS}/apps/tez-0.5.3.tar.gz</value>
</property>
</configuration>[/mw_shl_code]
4) 配置/etc/profile:
[mw_shl_code=applescript,true]export TEZ_HOME=/opt/software/tez-0.8.2
export TEZ_CONF_DIR=$TEZ_HOME/conf
export TEZ_LIB_DIR=$TEZ_HOME:$TEZ_HOME/lib[/mw_shl_code]source /etc/profile
5) 配置$HADOOP_HOME/etc/hadoop/hadoop-env.sh
[mw_shl_code=applescript,true]for jar in`ls $TEZ_HOME |grep jar`;do
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/$jar
done
for jar in`ls $TEZ_HOME/lib`;do
    export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$TEZ_HOME/lib/$jar
done[/mw_shl_code]8.测试是否安装成功
$HADOOP_PREFIX/bin/hadoop jar tez-examples.jar orderedwordcount <input> <output>

小结:关于tez,它本身是一个作为hadoop的轻量级的客户端插件,因此,配置相对比较简单,以上步骤就是配置的最简单的操作,其实tez还提供了更多的优化配置项,如果想要让tez在集群数据处理中展现更多优势,需要根据实际情况配置更多的配置参数。tez还提供了单独的tez-ui监控界面,这个安装也是相对独立的模块,以后有时间再介绍
官方安装文档:https://tez.apache.org/install.html

没找到任何评论,期待你打破沉寂

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条