由于blog各种垃圾评论太多,而且本人审核评论周期较长,所以懒得管理评论了,就把评论功能关闭,有问题可以直接qq骚扰我

CDH hive 2.1.1 升级hive2.3.8

大数据 西门飞冰 4157℃

简介

因为CDH5和6架构使用组件间紧耦合架构,不提供组件的独立升级,如果在使用CDH过程中,有需要独立升级组件的需求,就需要尝试和Apache的社区版本进行结合部署,本文以独立升级hive为例进行展示。

环境说明

操作系统:centos 7.8

CDH 版本6.3.2

hive 版本 2.1.1 升级hive2.3.8

前置工作

(1)下载hive 2.3.8版本,并解压

wget https://downloads.apache.org/hive/hive-2.3.8/apache-hive-2.3.8-bin.tar.gz
tar xf apache-hive-2.3.8-bin.tar.gz

(2)备份MySQL元数据库

升级hive版本过程

注意:运行升级前,在cloudera后台,停止掉hive和hive依赖的应用

(1)复制hive 2.3.8 lib包到原来的hive中

cp -r apache-hive-2.3.8-bin/lib/ /opt/cloudera/parcels/CDH/lib/hive/lib238/

(2)修改hive 启动文件,调用hive 2.3.8 jar包

# vim /opt/cloudera/parcels/CDH/lib/hive/bin/hive
#HIVE_LIB=${HIVE_HOME}/lib
HIVE_LIB=${HIVE_HOME}/lib238

(3)替换spark中hive 包(hive on spark运行)

mv /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/spark/hive/hive-exec-2.1.1-cdh6.3.2.jar /root/
cp /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/hive/lib238/hive-exec-2.3.8.jar /opt/cloudera/parcels/CDH-6.3.2-1.cdh6.3.2.p0.1605554/lib/spark/hive/

注意:如上三个操作在所有安装了hive的节点执行

(4)升级hive 2.1.1 MySQL数据库

mysql> source /opt/cloudera/hive/scripts/metastore/upgrade/mysql/upgrade-2.1.0-to-2.2.0.mysql.sql;  
mysql> source /opt/cloudera/hive/scripts/metastore/upgrade/mysql/upgrade-2.2.0-to-2.3.0.mysql.sql;  

启动hive,查看hive版本

hive2.3.8

踩坑记录

hive 升级后,所有部署在hive中的应用,如果在编译中填写了hive版本,需要重新编译部署,比如hive自定义函数,比如血缘关系atlas程序

Cloudera 公司给的结论是CDH 版本和Apache版本混合使用不能保证兼容性(不排除忽悠花钱买CDP的可能),所以hive升级前所有功能最好在demo环境验证全面,在进行测试环境和线上环境变更,否则贸然升级出现低版本不兼容高本版的数据格式问题,回滚就要丢失数据了

转载请注明:西门飞冰的博客 » CDH hive 2.1.1 升级hive2.3.8

喜欢 (8)or分享 (0)