码迷,mamicode.com
首页 > 其他好文 > 详细

Tez 整合Hadoop CDH 5.3.0安装部署

时间:2015-01-08 14:38:34      阅读:427      评论:0      收藏:0      [点我收藏+]

标签:

    子曰君子食无求饱,居无求安,敏于事而慎于言,就有道而正焉,可谓好学也已。

    译文:君子吃不求太饱,住不求太舒适,做事勤快,说话谨慎,向道德高的人学习,并能改正自己的缺点,这样就可以称得上好学了。

  最近要把CDH的版本换成了5.3.0,hive的版本从0.12换成了0.13,升级完成后,简单测试发现版本的升级对性能的影响非常大。hive在0.13中开始支持tez做为执行引擎来提高执行速度。

  

  Tez 和 MR 的对比图:

技术分享

  图中可以看出原始的 MR 程序是多job 的DAG,每个job都会进行写盘和读盘操作,浪费了磁盘IO和网络IO。 Tez则把多job的DAG改为单个job的DAG任务,减少的中间结果的操作。

 

Tez 的安装部署:

  hadoop版本:2.5.0

  hive版本:0.13

  tez版本:0.4.1

 

  1.)下载tez源码,地址:http://archive.apache.org/dist/incubator/tez/tez-0.4.1-incubating/

  2.)编译:

    1:依赖环境

      a、JDK 1.7 +

      b、maven 3.0 +

      c、ProtocolBuffer 2.5.0

    2:修改pom.xml中的hadoop版本为对应的版本号 2.5.0

    3:编译命令:mvn clean package -DskipTests=true -Dmaven.javadoc.skip=true  静静的等待吧..........

  3.)上传编译后的Tez的tarball到集群的各个机器中,并解压到自己想要安装的目录中。

  4.)上传tez解压后的文件到HDFS中

    。建立目录 hadoop fs -mkdir /apps

    。上传文件 hadoop fs -put {TEZ_HOME} /apps/

  5.)在hadoop的配置文件目录中新建 tez-site.xml 配置文件

    。添加配置 tez.lib.uris 

1 <property>
2   <name>tez.lib.uris</name>
3   <value>${fs.defaultFS}/apps/tez,${fs.defaultFS}/apps/tez/lib</value>
4 </property>

   6.)修改 mapred-site.xml

  7.)在hadoop-env.sh 把 tez 的jar添加到HADOOP_CLASSPATH中

1 export TEZ_HOME={TEZ_HOME}
2 export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_HOME}/*:${TEZ_HOME}/lib/*

 

  8.)至此 Tez 的部署结束,运行Tez的测试程序:hadoop jar tez-tests.jar testorderedwordcount <input> <output>

    如果能正常运行,就说明部署成功了。

  9.)修改hive的执行引擎为 Tez

1 <property>
2   <name>hive.execution.engine</name>
3   <value>tez</value>
4 </property>

  

  到此 Tez 整合 CDH 5.3.0 已经大功告成了。开始进入稳定性测试和性能优化吧。

  

  温馨提示: Tez 是需要每台机器都需要部署的。

  Tez官网: http://tez.apache.org/index.html

 

Tez 整合Hadoop CDH 5.3.0安装部署

标签:

原文地址:http://www.cnblogs.com/hankedang/p/4210598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!