You've already forked www.colben.cn
3.2 KiB
3.2 KiB
title, date, lastmod, keywords, tags, categories
| title | date | lastmod | keywords | tags | categories | ||||
|---|---|---|---|---|---|---|---|---|---|
| hive2 tez 部署 | 2023-05-23T12:00:00+08:00 | 2023-05-23T12:00:00+08:00 |
|
|
环境
| 操作系统 | 主机名 | 地址 | 运行组件 |
|---|---|---|---|
| Rocky8 | 编译服务器 | - | 编译工具 |
| Rocky9 | hive-hs20 | 192.168.8.20/24 | Hive Server, Tez |
| Rocky9 | hive-ms21 | 192.168.8.21/24 | Hive Metastore, MySQL8.0, Tez |
准备 protoc 2.5.0 环境
-
在编译服务器上执行如下操作
-
下载源码,解压
curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz tar zxf protobuf-2.5.0.tar.gz cd protobuf-2.5.0.tar.gz -
编译
mkdir /opt/protoc-2.5.0 ./configure --prefix=/opt/protoc-2.5.0 make make check make install
编译 tez
-
在编译服务器上执行如下操作
-
下载 tez 部署包,解压
curl -LO https://mirrors.tuna.tsinghua.edu.cn/apache/tez/0.9.2/apache-tez-0.9.2-src.tar.gz tar zxf apache-tez-0.9.2-src.tar.gz cd apache-tez-0.9.2-src -
编译
export PATH=/opt/protoc-2.5.0/bin:/opt/jdk8/bin:/opt/maven3/bin:$PATH mvn clean package -DskipTests=true -Dtar -Dhadoop.version=2.10.2 -Dmaven.javadoc.skip=true -pl tez-dist -am -
上传 tez-dist/target/tez-0.9.2-minimal.tar.gz 到全部 hive 服务器中
-
上传 tez-dist/target/tez-0.9.2.tar.gz 到 hive-hs20 中
部署 tez 环境
-
在 hive-hs20 执行如下操作
-
上传 tez-0.9.2.tar.gz 到 hdfs
hdfs dfs -mkdir /tez hdfs dfs -put tez-0.9.2.tar.gz /tez/ -
创建 tez staging 目录
hdfs dfs -mkdir -p /hive/tez/staging -
在全部 hive 主机上解压 tez 部署包
mkdir /opt/tez tar zxf tez-0.9.2-minimal.tar.gz -C /opt/tez/
修改 yarn-site.xml
- 在**全部主机(包括 hadoop)**上执行如下操作
- 参考在 $HADOOP_HOME/etc/hadoop/yarn-site.xml 中关闭 yarn 虚拟内存检查
创建 tez-site.xml
- 在**全部主机(包括 hadoop)**上执行如下操作
- 创建 $HADOOP_HOME/etc/hadoop/tez-site.xml,参考内容如下
<configuration> <property> <name>tez.lib.uris</name> <type>string</type> <value>hdfs://hdp-nn:8020/tez/tez-0.9.2.tar.gz</value> </property> </configuration>
修改 hive-site.xml
- 在全部 hive 主机上执行如下操作
- 参考在 $HIVE_HOME/etc/hadoop/yarn-site.xml 中配置 tez staging 目录
修改 hive-env.sh
- 在全部 hive 主机上执行如下操作
- 编辑 $HIVE_HOME/conf/hive-env.sh,在文件最后增加如下内容
export TEZ_HOME=/opt/tez TEZ_JARS="" for jar in $(ls $TEZ_HOME | grep jar); do TEZ_JARS=$TEZ_JARS:$TEZ_HOME/$jar done for jar in $(ls $TEZ_HOME/lib); do TEZ_JARS=$TEZ_JARS:$TEZ_HOME/lib/$jar done export HIVE_AUX_JARS_PATH=$TEZ_HOME/lib export HADOOP_CLASSPATH=$TEZ_JARS
重启环境
- 重启 hadoop dfs 和 yarn 集群
- 重启 hive metastore 和 hiveserver2
设置引擎
- 设置 hive 引擎为 tez,执行 sql 语句
set set hive.execution.engine=tez;