Cloudera Manager和CDH minor版本 tar包升级方案

Cloudera Manager和CDH minor版本 tar包升级方案

1 概述

升级分为Cloudera Manager管理工具升级和CDH组件升级。Cloudera Manager管理工具可使用tarball方式升级,CDH组件可使用parcels升级。
CDH和Cloudera Manager不用同时升级,但需保证Cloudera Manager和CDH版本的兼容。Cloudera Manager可以管理当前或以前的major版本的CDH,或相同minor版本的CDH,或较低minor版本的CDH。比如,Cloudear Manager 5.7.1可以管理CDH5.7.2,CDH5.6.1和CDH4.8.6,但是不能管理CDH5.8.1。Cloudera Manager5.x不能管理CDH3.x。
一般需要规划一个足够长的维护窗口(停机时间)进行升级。根据需要升级的组件,集群的节点数,以及不同的硬件情况,需要一天来进行升级。开始升级之前,你需要做好一些前置条件准备以及关键数据备份。
CDH升级一共有三种版本的升级:major大版本,minor 次版本和maintenance维护版本。
升级建议:

  • 针对CDH的Maintenance Version升级,可以使用滚动升级,比如:5.15.x升级到5.15.y,这种版本升级主要修复bug,不改动API,也不涉及新的功能。
  • 针对CDH的Minor Version升级,建议停机升级或者滚动升级(如果跨度不大),比如5.x.x升级到5.y.y,这种版本升级主要是增加新的功能和新的API。
  • 针对CDH的Major Version升级,建议必须停机升级,而且在升级前需要对已有应用和作业的改造和升级进行完备的测试验证,相应升级时停机时间会较长,这种版本升级一般是Hadoop相关组件的大版本升级,可能会改动API。
    本次升级方案面向minor版本升级。
    minor版本升级是指基于同样的major版本将minor版本进行升级,比如从5.4.x升级到5.8.x,一般有以下特征:
  • 新的功能
  • Bug修复
  • 可能存在的数据库schema更改会在Cloudera Manager升级时自动被处理
    CDH5.16.2修复的问题列表
    在这里插入图片描述

2 升级准备工作

以下是本次测试环境,但不是本操作手册的硬限制:

  • 操作系统:CentOS 7.4
  • 旧CM/CDH版本:CM5.15.2/ CDH5.15.2
  • CM/CDH的目标升级版本:CM5.16.2/ CDH5.16.2
  • 采用root用户进行操作
    升级前置条件:
  • 确保当前系统版本支持要升级到的新版本CDH5和Cloudera Manager5
  • 原Cloudera Manager和CDH的版本为5.15.2
  • Cloudera Manager和CDH的目标升级版本为5.16.2

2.1 停止CM服务以及各个组件服务

在CM控制台页面上停止Hadoop各个组件
在这里插入图片描述
在CM控制台页面上停止ClouderaManager管理组件
在这里插入图片描述
在所有集群服务器上停止cloudera-scm-agent

/opt/cm-5.15.2/etc/init.d/cloudera-scm-agent stop

在cloudera-scm-server节点停止clodera-scm-server

/opt/cm-5.15.2/etc/init.d/cloudera-scm-server stop

2.2 数据库节点上备份Cloudera Manager数据库

mysqldump -u 用户-p 密码 --databases hive> /tmp/20201224/hive.dump
mysqldump -u 用户-p 密码 --databases hue> /tmp/20201224/hue.dump
mysqldump -u 用户-p 密码 --databases oozie> /tmp/20201224/oozie.dump
mysqldump -u 用户-p 密码 --databases scm> /tmp/20201224/scm.dump

在这里插入图片描述

2.3 namenode节点备份元数据

cd /dfs/dfs/nn
tar -cvf /dfs/dfs/nn/node_backup_data.tar /dfs/dfs/nn

3 CM升级

首先升级Cloudera Manager。

3.1 所有节点上传cm安装包

cd /tmp
mkdir cm
cd /tmp/cm
rz
chmod 755 cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz

备注:上传压缩包比较耗时,预计1小时左右

3.2 解压

 tar -xzvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/

3.3 所有节点的config.ini指向cloudera-scm-server节点

mv /opt/cm5.16.2/etc/clodera-scm-agent/config.ini /opt/cm5.16.2/etc/clodera-scm-agent/config.ini.bak
cp /opt/cm5.15.2/etc/clodera-scm-agent/config.ini /opt/cm5.16.2/etc/clodera-scm-agent/

3.4 cloudera-scm-server节点配置 db.properties

mv /opt/cm5.16.2/etc/clodera-scm-server/db.properties /opt/cm5.16.2/etc/clodera-scm-server/db.properties.bak
cp /opt/cm5.15.2/etc/clodera-scm-server/db.properties /opt/cm5.16.2/etc/clodera-scm-server/

3.5 所有节点复制 uuid 到新版本的对应目录下

cp /opt/cm5.15.2/lib/cloudera-scm-agent/uuid /opt/cm5.16.2/ lib/cloudera-scm-agent/

3.6 所有节点将MySQL JDBC驱动包放入相应位置

cp /opt/cm-5.15.2/share/cmf/lib/mysql-connector-java*.jar /opt/cm-5.16.2/share/cmf/lib/

3.7 启动新版本的 cloudera-scm-server/agent

/opt/cm-5.16.2/etc/init.d/cloudera-scm-server start
/opt/cm-5.16.2/etc/init.d/cloudera-scm-agent start

PS:可能存在问题:
cloudemanager安装时出现ProtocolError:<ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized>问题
问题排查:
查看日志/var/log/cloudera-scm-agent/,得知rotocolError: <ProtocolError for 127.0.0.1/RPC2: 401 Unauthorized>
解决办法:

ps -ef | grep supervisord
kill -9 <processID>
sudo service cloudera-scm-agent restart

3.8 Cloudera Manager升级验证

3.8.1 查看Cloudera Manager版本

在这里插入图片描述
版本显示为升级后版本

3.8.2 验证 Cloudera Manager心跳机制

在这里插入图片描述
默认情况下,该心跳为15s一次;

3.8.3 检查所有主机

在这里插入图片描述
在这里插入图片描述

3.8.4 集群历史监控数据

在这里插入图片描述

4 CDH升级

升级CDH各组件

4.1 cloudera-scm-server节点上传parcel包

cd /tmp/cm
rz

包含以下parcel包:

  • CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel
  • CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1
  • manifest.json

4.2 cloudera-scm-server节点移动parcel包

mv /tmp/cm/CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel /opt/cloudera/parcel-repo
mv /tmp/cm/CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1 /opt/cloudera/parcel-repo
mv /tmp/cm/manifest.json /opt/cloudera/parcel-repo
mv /opt/cloudera/parcel-repo/CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha1 /opt/cloudera/parcel-repo/ CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha

4.3 停止clodera-scm-server

/opt/cm-5.15.2/etc/init.d/cloudera-scm-server stop

4.4 在所有集群服务器上停止cloudera-scm-agent

/opt/cm-5.15.2/etc/init.d/cloudera-scm-agent stop

4.5 在CM控制台页面上升级

页面点击“主机”->“Parcel”找到5.16.2-1.cdh2.16.2.p0.8版本,点击“激活”并“升级”
在这里插入图片描述
在CDH Parcel包下发到各节点安装完后如下目录也需要复制,否则以上检查无法通过。

cp mysql-connector-java*.jar /opt/cloudera/parcels/CDH-5.16.2.p0.8/jars/
cp mysql-connector-java*.jar /opt/cloudera/parcels/CDH-5.16.2.p0.8/lib/hive/lib/
cp mysql-connector-java*.jar /opt/cloudera/parcels/CDH-5.16.2.p0.8/lib/sqoop/
cp mysql-connector-java*.jar /opt/cloudera/parcels/CDH-5.16.2.p0.8/lib/oozie/libtools/
cp mysql-connector-java*.jar /opt/cloudera/parcels/CDH-5.16.2.p0.8/lib/oozie/libserver/

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.6 Flume拦截器添加(项目中如没有使用Flume,跳过

cd /opt/cloudera/parcels/CDH-5.15.2-1.cdh5.15.2.p0.3/lib/flume-ng/lib/Collection-1.0.jar /opt/cloudera/parcels/CDH-5.16.2.2-1.cdh5.16.2.p0.8/lib/flume-ng/lib/
chmod 755 /opt/cloudera/parcels/CDH-5.16.2.2-1.cdh5.16.2.p0.8/lib/flume-ng/lib/ Collection-1.0.jar

随后重启flume

4.7 功能验证(根据项目实际情况制定验证项

4.7.1 Hue、Hive以及MR验证

在CM控制台页面登录Hue,测试hive正常查询表数据。
在这里插入图片描述

4.7.2 Spark程序验证
cd /opt/spark-shell/
bash -x spark_start_wallet_static.sh

在yarn上查看spark任务启动是否正常
在这里插入图片描述

4.7.3 Oozie调度验证

查看Oozie调度信息是否正常
在这里插入图片描述
升级成功!

6 参考文献

  • https://cloud.tencent.com/developer/article/1077573
  • https://www.cnblogs.com/tzxxh/p/9123231.html
  • https://blog.csdn.net/supersyd/article/details/52486989
  • https://www.cnblogs.com/zlslch/p/7121275.html
  • https://docs.cloudera.com/documentation/enterprise/release-notes/topics/cdh_rn_fixed_in_516.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值