暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

案例|CDH平台升级实例

碧茂科技 2021-04-16
587

点击 “碧茂科技” 即可订阅!

一.集群概况

当前客户使用的Hbase组件无法使用Hbck2进行修复,且当前运行部分组件版本已知问题在6.3.2中得到修复,特进行升级操作。

相关组件
版本/规模
备注
CDH
6.1
parcel包安装
Cloudera Manager
5.4
RPM包安装
JDK
1.8.0_131

Mysql
5.1
为满足升级需求需升级到5.7
节点数
50+

1.针对CDH的Maintenance Version升级,可以使用滚动升级,比如:5.4.x升级到5.4.y,这种版本升级主要修复bug,不改动API,也不涉及新的功能。

2.针对CDH的Minor Version升级,建议停机升级或者滚动升级(如果跨度不大),比如5.x.x升级到5.y.y,这种版本升级主要是增加新的功能和新的API。

3.针对CDH的Major Version升级,建议必须停机升级,而且在升级前需要对已有应用和作业的改造和升级进行完备的测试验证,相应升级时停机时间会较长,这种版本升级一般是Hadoop相关组件的大版本升级,可能会改动API。

当前的CDH平台版本为CDH 6.1.1,目标升级版本为CDH6.3.2,Minor版本升级(无商业版)进行停机升级。


二.升级方式对比


方式
概述
备注
CDH
Parcels
受Cloudera Manager统一管理自动下载、激活、分发;升级步骤相对简单
建议采用Parcel升级方式
RPM包
需要提前下载好所有组件RPM包更新命令进行升级,所有节点都需执行相同操作,操作繁琐。

Cloudera Manager
Tar包
解压后简单配置就可用,但是cm6中不提供Tar包安装方式(且Tar包安装方式不利于集群管理,cm配置信息需手动同步)
RPM包
使用RPM更新命令进行升级,后续agent升级可采用Cloudera升级向导进行升级建议采用RPM包进行升级


三.升级操作

1.CM升级概述

服务名
影响升级方式
备注
Cloudera ManagerCM监控管理平台无法访问1h+
RPM yum
详细操作见下










1.1备份

(1)备份cloudera manager server

主要备份CM的监控数据和管理信息,数据目录包括:

/var/lib/cloudera-host-monitor

/var/lib/cloudera-service-monitor

/var/lib/cloudera-scm-server

/var/lib/cloudera-scm-eventserver

/var/lib/cloudera-scm-headlamp

cd var/lib

du -h --max-depth=1

tar -zcvf home/cloudera-service-monitor.tar.gz cloudera-service-monitor/ 

tar -zcvf home/cloudera-host-monitor.tar.gz cloudera-host-monitor/

tar -zcvf home/cloudera-scm-server.tar.gz cloudera-scm-server/

tar -zcvf home/cloudera-scm-eventserver.tar.gz cloudera-scm-eventserver/

tar -zcvf home/cloudera-scm-headlamp.tar.gz cloudera-scm-headlamp/

mysqldump -u root -p -A > home/oldmysql.dum







1.2升级操作

1.2.1 停止Cloudera-scm-server

1.2.2 停止所有agent

1.2.3更新yum源

(1)cm yum源

上传cm安装包到指定目录(自定义)

createrepo

(2)生成元数据和依赖信息

python -m SimpleHTTPServer 7801

(3)修改配置文件

[cm]name=cm5.4baseurl=http://192.168.31.20:7803/gpgcheck=0enabled=1#gpgkey=http://192.168.31.120:7800/RPM-GPG-KEY-CentOS-7#路径和端口以实际配置为准,端口不能一样,name不能一样

1.2.4执行更新操作(cmserver节点执行)

yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

1.2.5确认是否安装成功

rpm -qa|grep cloudera*

1.2.6启动cm server

Service cloudera-scm-server start

1.2.7启动旧版本agent

(1)登录cm进入升级向导页面

点击确认完成,依照提示重启过期配置

服务名
影响升级方式
备注
Cloudera ManagerCM监控管理平台无法访问1h+
RPM yum
详细操作见下










1.3回滚

(1)停止cm

(2)如果cdh已经升级完成,先将cdh回滚到之前版本

(3)清理cmserver节点上/var/lib和/var/run中与cloudera server和agent相关目录

(4)卸载cmserver和agent

(5)执行降级操作(其他agent手动执行)

yum install cloudera-manager-server cloudera-manager-daemons  cloudera-manager-agent 

(6)将备份的scm元数据还原到数据库

mysql -u root -p < oldmysql.dump

还原监控管理信息到/var/lib


2.CDH升级概述

服务名
影响
升级方式
备注
CDH
集群组件需停止,将处于无法访问状态,知道升级完成,预计1h+
Parcel
详细操作见下












2.1备份

(1)备份cm

备份cm元数据库(全库备份)

通过cm管理台停止cloudera-manager

mysqldump -u root -p -A >oldmysql.dump

(2)备份hdfs

  • hdfs进入安全模式

  • 手动触发checkpoint

cm操作或命令形式

hdfs dfsadmin -saveNamespac

备份fsimage和MD5文件

hdfs dfsadmin -fetchImage backup_dir

(3)备份zk目录

tar -zxvf home/ var/lib/zookeeper










2.2执行操作

从parcel包界面进入升级向导

确认升级界面上hbase等操作都已做完再执行下一步

点击继续

选择完整集群重启,点击继续

点击继续,点击完成












2.3后续及验证

在最终化元数据之前,进行几天甚至几周的运行观察,确保所有任务都没有任何异常后,再进行最终化元数据。一旦进行最终化元数据后,就不能回滚到老的版本了,除非有备份数据。对HDFS的主备节点都执行最终化元数据升级操作:












2.4服务验证

(1)hdfs

1、使用dd命令生成指定大小文件dd if=/dev/zero of=test20190513 bs=1M count=10002、文件上传至hdfs dfs -put test20190513 temp3、文件上传至hdfs dfs -cat temp/test201905134、文件上传至hdfs dfs -get /temp/test20190513

(2)hive

use rhao;

create table hive_test_20190513(id int);

select count(*) from hive_test_20190513

(3)hbase

create 'rhao:test_20190513','a'

put 'rhao:test_20190513','1111','a:age','24'

scan  'rhao:test_20190513','a'

disable 'rhao:test_20190513'

drop 'rhao:test_20190513













2.5回滚

cm界面可视化操作重新激活旧版本parcel包即可(注:在HDFS未完成最终化升级可直接执行操作)

关于碧茂
碧茂科技作为专业大数据解决方案服务商,致力于国家数字化转型战略。在中科院上海计算技术研究所的引领下,引进国外先进技术和行业解决方案。与Cloudera、华为、星环等厂商密切合作。为客户提供从系统架构、数据治理到人才培养,全生命周期的技术支持,构建更稳定、更高效、更安全的企业级大数据平台。
文章转载自碧茂科技,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论