部署Hive引擎

规划集群环境

本章节规划的环境有七台服务器组成,分别是任务提交节点(1台)、计算节点(3台)、存储节点(3台)。其中Hive Client作为大数据集群的任务提交节点,计算节点分别是大数据集群的agent1、agent2和agent3。存储节点分别是大数据集群的ceph1、ceph2、ceph3。如图1所示。

图1 环境配置

集群所使用的硬件环境如表1 集群环境硬件配置所示。

表1 集群环境硬件配置

项目

型号

处理器

鲲鹏920 5220处理器

内存大小

384GB (12 * 32GB)

内存频率

2666MHz

网卡

  • Ceph环境:业务网络25GE,管理网络GE
  • HDFS环境:业务网络10GE,管理网络GE

硬盘

  • 系统盘:1*RAID 0(1*1.2T SAS HDD)
  • 管理节点:12*RAID 0(1*4T SATA HDD)
  • 计算节点:
    • Ceph环境:1*3.2T NVMe
    • HDFS环境:12 * RAID 0(1 * 4T SATA HDD)
  • 存储节点:
    • Ceph环境:12*RAID 0(1*4T SATA HDD) 1*3.2T NVMe
    • HDFS环境:12 * RAID 0(1 * 4T SATA HDD)

RAID卡

LSI SAS3508

安装Hive引擎

安装过程选择“/opt/hive/boostkit”作为软件安装的目录,将Hive依赖的JAR都放在该目录下,如表3 组件安装目录所示。

表2 组件安装目录

安装节点

安装目录

安装组件

获取方式

服务端(server1)

/opt/hive/boostkit

aws-java-sdk-bundle-1.11.375.jar

鲲鹏社区下载

bcpkix-jdk15on-1.68.jar

鲲鹏社区下载

bcprov-jdk15on-1.68.jar

鲲鹏社区下载

boostkit-omnidata-client-1.4.0-aarch64.jar

华为Support官网下载

boostkit-omnidata-common-1.4.0-aarch64.jar

华为Support官网下载

boostkit-omnidata-hive-exec-3.1.0-1.4.0.jar

鲲鹏社区下载或者使用源码进行编译

guava-31.1-jre.jar

鲲鹏社区下载

hadoop-aws-3.2.0.jar

鲲鹏社区下载

kryo-shaded-4.0.2.jar

鲲鹏社区下载

haf-1.3.0.jar

华为Support官网下载

hdfs-ceph-3.2.0.jar

鲲鹏社区下载

hetu-transport-1.6.1.jar

鲲鹏社区下载

jackson-annotations-2.13.2.jar

鲲鹏社区下载

jackson-core-2.13.2.jar

鲲鹏社区下载

jackson-databind-2.13.2.1.jar

鲲鹏社区下载

jackson-datatype-guava-2.12.4.jar

鲲鹏社区下载

jackson-datatype-jdk8-2.12.4.jar

鲲鹏社区下载

jackson-datatype-joda-2.13.3.jar

鲲鹏社区下载

jackson-datatype-jsr310-2.12.4.jar

鲲鹏社区下载

jackson-module-parameter-names-2.12.4.jar

鲲鹏社区下载

jasypt-1.9.3.jar

鲲鹏社区下载

jol-core-0.2.jar

鲲鹏社区下载

joni-2.1.5.3.jar

鲲鹏社区下载

log-0.193.jar

鲲鹏社区下载

perfmark-api-0.23.0.jar

鲲鹏社区下载

presto-main-1.6.1.jar

鲲鹏社区下载

presto-spi-1.6.1.jar

鲲鹏社区下载

protobuf-java-3.12.0.jar

鲲鹏社区下载

slice-0.38.jar

鲲鹏社区下载

aws-java-sdk-bundle-1.11.375.jar、hadoop-aws-3.2.0.jar、hdfs-ceph-3.2.0.jar这三个JAR包在Ceph环境下需要添加,HDFS不需要这三个JAR包。除aws-java-sdk-bundle-1.11.375.jar、hadoop-aws-3.2.0.jar、hdfs-ceph-3.2.0.jar外,上述依赖包可通过执行Gitee上hive_build.sh脚本获取。

  1. 创建“/opt/hive/boostkit”目录。

    1
    mkdir -p /opt/hive/boostkit
    

  2. 在任务提交节点(server1)上,将在软件获取中得到boostkit-omnidata-client-1.4.0-aarch64.jar和boostkit-omnidata-common-1.4.0-aarch64.jar(“BoostKit-omnidata_1.4.0.zip\BoostKit-omnidata_1.4.0.tar.gz”中),上传到“/opt/hive/boostkit”目录。

    1
    2
    cp boostkit-omnidata-client-1.4.0-aarch64.jar /opt/hive/boostkit
    cp boostkit-omnidata-common-1.4.0-aarch64.jar /opt/hive/boostkit
    

  3. 将在软件获取中得到的haf-1.3.0.jar“BoostKit-haf_1.3.0.zip\haf-1.3.0.tar.gz\haf-host-1.3.0.tar.gz\lib\jar\”中),上传到“/opt/hive/boostkit”目录。

    1
    cp haf-1.3.0.jar /opt/hive/boostkit
    

  4. 将在软件获取中得到的hdfs-ceph-3.2.0.jar和boostkit-omnidata-server-1.4.0-aarch64-lib.zip中的aws-java-sdk-bundle-1.11.375.jar、hadoop-aws-3.2.0.jar,上传到“/opt/hive/boostkit”目录(如果是HDFS存储系统,则跳过该步骤)。

    1
    2
    3
    cp aws-java-sdk-bundle-1.11.375.jar /opt/hive/boostkit
    cp hadoop-aws-3.2.0.jar /opt/hive/boostkit
    cp hdfs-ceph-3.2.0.jar /opt/hive/boostkit
    

  5. 使用FTP工具将boostkit-omnidata-hive-exec-3.1.0-1.4.0.zip压缩包上传到安装环境并解压。

    1
    unzip boostkit-omnidata-hive-exec-3.1.0-1.4.0.zip
    

  6. 将boostkit-omnidata-hive-exec-3.1.0-1.4.0.zip压缩包内的JAR包拷贝到“/opt/hive/boostkit”目录。

    1
    2
    cd boostkit-omnidata-hive-exec-3.1.0-1.4.0
    cp *.jar /opt/hive/boostkit
    

    如果用户需要手动编译boostkit-omnidata-hive-exec-3.1.0-1.4.0.jar,可以根据README.md编译。

  7. 新建tez-ndp目录,从HDFS上获取tez.tar.gz(默认路径“/apps/tez/tez.tar.gz”),并解压。

    1
    2
    3
    4
    5
    cd /opt/hive/
    mkdir tez-ndp
    cd tez-ndp
    hdfs dfs -get /apps/tez/tez.tar.gz .
    tar -zxvf tez.tar.gz
    

  8. “/opt/hive/boostkit”目录中的boostkit整个目录拷贝到tez-ndp中,并压缩上传至HDFS上,需要删除原始的tez.tar.gz。

    1
    2
    3
    4
    5
    6
    cd /opt/hive/tez-ndp
    cp -r /opt/hive/boostkit .
    rm -rf tez.tar.gz
    tar -zcvf tez.tar.gz *
    hdfs dfs -rmr /apps/tez/tez.tar.gz
    hdfs dfs -put tez.tar.gz /apps/tez/
    

  9. 修改配置文件“/usr/local/hive/conf/hive-env.sh”

    1. 打开文件。
      vim /usr/local/hive/conf/hive-env.sh
    2. “i”进入编辑模式,在文件末尾添加以下配置。
      1
      2
      3
      4
      export BOOSTKIT_HOME=/opt/hive/boostkit
      for f in ${BOOSTKIT_HOME}/*.jar; do
        HIVE_CONF_DIR=${HIVE_CONF_DIR}:$f
      done
      

      “Esc”键,输入:wq!,按“Enter”保存并退出编辑。

  10. 修改配置文件“/usr/local/tez/conf/tez-site.xml”

    1. 打开文件。
      vim /usr/local/tez/conf/tez-site.xml
    2. “i”进入编辑模式,在文件末尾添加以下配置。
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      <property>
          <name>tez.user.classpath.first</name>
          <value>true</value>
      </property>
      <property>
          <name>tez.cluster.additional.classpath.prefix</name>
          <value>$PWD/tezlib/boostkit/*</value>
      </property>
      <property>
          <name>tez.task.launch.env</name>
          <value>PATH=/home/omm/omnidata-install/haf-host/bin:$PATH,LD_LIBRARY_PATH=/home/omm/omnidata-install/haf-host/lib:$LD_LIBRARY_PATH,CLASS_PATH=/home/omm/omnidata-install/haf-host/lib/jar/haf-1.3.0.jar:$CLASS_PATH,HAF_CONFIG_PATH=/home/omm/omnidata-install/haf-host/etc/</value>
      </property>
      
    3. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。