部署Tez

部署Tez使用的安装包可从编译Tez编译获得(推荐),也可从华为镜像仓下载获得。本文使用的是编译Tez编译获得的安装包。

  1. 登录server1节点。将编译的安装包复制到“/usr/local”目录并将安装包名称修改为apache-tez-0.10.0-bin.tar.gz,进入该目录。

    1
    2
    cp tez-0.10.0.tar.gz /usr/local/apache-tez-0.10.0-bin.tar.gz
    cd /usr/local
    

  2. 创建“/apache-tez-0.10.0-bin”目录,并解压安装包至“/apache-tez-0.10.0-bin”目录。

    1
    2
    mkdir apache-tez-0.10.0-bin
    tar -zxvf apache-tez-0.10.0-bin.tar.gz -C apache-tez-0.10.0-bin
    

  3. 进入“/usr/local/apache-tez-0.10.0-bin/lib”目录。

    1
    cd /usr/local/apache-tez-0.10.0-bin/lib
    

  4. Tez编译完成的snappy-java-1.0.5.jar不适配鲲鹏服务器,查询是否存在snappy-java-1.0.5.jar。

    • 若不存在,则下载适配鲲鹏服务器的snappy-java-1.0.5.jar。
      1
      2
      ll
      wget https://repo.huaweicloud.com/kunpeng/maven/org/xerial/snappy/snappy-java/1.0.5/snappy-java-1.0.5.jar
      
    • 若存在,则删除snappy-java-1.0.5.jar后,下载适配鲲鹏服务器的snappy-java-1.0.5.jar。
      1
      2
      3
      ll
      rm -rf snappy-java-1.0.5.jar
      wget https://repo.huaweicloud.com/kunpeng/maven/org/xerial/snappy/snappy-java/1.0.5/snappy-java-1.0.5.jar
      

  5. 返回“/usr/local”目录,创建软链接。

    1
    2
    cd /usr/local
    ln -s apache-tez-0.10.0-bin /usr/local/tez
    

  6. 创建配置文件tez-site.xml。

    1. 创建“/usr/local/tez/conf”目录并进入该目录。
      1
      2
      mkdir -p /usr/local/tez/conf
      cd /usr/local/tez/conf
      
    2. 创建tez-site.xml文件。
      1
      vi tez-site.xml
      
    3. “i”进入编辑模式,将以下内容拷贝进文件中。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      <?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/tez.tar.gz</value>
      </property>
      <property>
           <name>tez.use.cluster.hadoop-libs</name>
           <value>false</value>
      </property>
      <property>
           <name>tez.history.logging.service.class</name>
           <value>org.apache.tez.dag.history.logging.ats.ATSHistoryLoggingService</value>
      </property>
      <property>
              <name>tez.allow.disabled.timeline-domains</name>
              <value>true</value>
      </property>
      <property>
            <name>tez.tez-ui.history-url.base</name>
            <value>http://server1:8822/tez-ui</value>
      </property>
      </configuration>
      
    4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  7. 上传Tez安装包到HDFS。

    1. 进入“/usr/local/tez”目录,并将当前文件和目录打包至tez.tar.gz文件。
      1
      2
      cd /usr/local/tez
      tar -czvf ../tez.tar.gz .
      
    2. 返回上层目录。
      1
      cd ..
      
    3. 在HDFS上创建目录。
      1
      hdfs dfs -mkdir -p /apps/tez/
      
    4. 防止HDFS上有残留文件,删除旧的tez.tar.gz文件。
      1
      hdfs dfs -rmr /apps/tez/tez.tar.gz
      
    5. 将压缩的包上传至“/apps/tez”目录。
      1
      2
      hdfs dfs -put ./tez.tar.gz /apps/tez/
      rm -rf ./tez.tar.gz
      

  8. 修改Hadoop的配置文件hadoop-env.sh,同步该操作至所有节点。

    1. 本次使用的环境Hadoop的配置目录在“/usr/local/hadoop/etc/hadoop”,进入该目录。
      1
      cd /usr/local/hadoop/etc/hadoop
      
    2. 打开hadoop-env.sh文件。
      1
      vi hadoop-env.sh
      
    3. “i”进入编辑模式,在文件末尾添加下列配置。
      1
      2
      3
      export TEZ_CONF_DIR=/usr/local/tez/conf/tez-site.xml
      export TEZ_JARS=/usr/local/tez
      export HADOOP_CLASSPATH=${HADOOP_CLASSPATH}:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*
      
    4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。