• Tez 整合Hadoop CDH 5.3.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中

    # TEZ class path 
    export TEZ_HOME=/usr/lib/tez
    
    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

      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

  • 相关阅读:
    vue-生命周期图示 注解
    vue-组件嵌套之——父组件向子组件传值
    vue-框架模板的源代码注释
    vue-小demo、小效果 合集(更新中...)
    Gulp-自动化编译sass和pug文件
    JS
    Node.js- sublime搭建node的编译环境
    sublime--package control的配置与插件安装
    git-常用命令一览表
    java面试题:jvm
  • 原文地址:https://www.cnblogs.com/hankedang/p/4210598.html
Copyright © 2020-2023  润新知