温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
Fayson的github:https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
在前面的文章中,Fayson介绍过《如何升级Cloudera Manager和CDH》,在实际使用过程中,我们往往会碰到将集群升级到一个较新的版本后,会出现一些莫名其妙的问题,为了保证生产系统的稳定运行,在无法快速定位问题的情况下,这时需要对集群进行降级。本文主要介绍如何对集群进行Cloudera Manager和CDH的降级。
在《如何升级Cloudera Manager和CDH》文章中,Fayson详细介绍了CDH版本的一些说明和代表的意义,这里我们先回顾一个重要的概念:
"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和Cloudera Manager进行降级,在版本跨度不大的情况下,实际你只降级CDH即达到了目的,因为Cloudera Manager的版本并不影响你集群上的任何作业的运行。而高版本的Cloudera Manager是可以管理低版本的CDH的。
如果你是使用Parcel方式安装CDH,无论是升级CDH还是降级CDH,差别都不大。我们回顾《如何升级Cloudera Manager和CDH》这篇文章可以发现对于Cloudera Manager的升级可以通过yum upgrade的命令来实现,比较方便,Cloudera Manager元数据库schema的升级,其实Cloudera Manager在升级时后台也自动帮你做了。但降级不一样,Cloudera Manager没有提供自动降级元数据库schema的功能,如果降级过程中有兼容性问题,你可能需要自己处理schema。实际过程中,往往一般降级CDH就够了。因为最终你会将Cloudera Manager和CDH升级到一个稳定的相同版本。
更多降级建议请参考文末Fayson的总结。
- 内容概述
1.降级CDH
2.降级Cloudera Manager
3.降级后集群功能验证
4.常见问题
- 测试环境
1.CM和CDH初始版本为5.14
2.CM和CDH的降级版本为5.13.1
3.OS为Redhat7.3
- 前置条件
1.Cloudera Manager使用rpm方式安装
2.CDH使用Parcel方式安装
2.降级CDH
1.CDH5.13.1的Pacel下载地址
(可左右滑动)
2.部署parcel包至HTTP服务的/var/www/html/cdh5.13.1目录下
(可左右滑动)
3.验证parcel部署是否成功
在浏览器访问如下地址,验证是否部署成功
(可左右滑动)
如上截图则表示CDH5.13.1的Parcel包部署成功
4.登录CM的WEB界面,配置parcel库地址
点击“保存更改”
如上图所示则表示配置成功
5.点击“下载”
等待下载成功,如下图显示下载成功
6.点击“分配”
等待分配成功,如下图显示分配成功
7.点击“激活”
8.点击“确定”,进行服务重启
重启成功
查看显示CDH5.13.1版本已激活
9.降级CDH版本后,会导致Oozie的共享库版本与CDH版本不匹配问题,需要降级Oozie的共享库
“Oozie Server 内部版本 (4.1.0-cdh5.13.1) 与 Oozie Server 共享库版本 (4.1.0-cdh5.14.0) 不匹配。”
停止Oozie服务
点击“安装Oozie共享库”
安装完成
重启Oozie服务
重启成功
10.至此完成CDH降级
3.降级Cloudera Manager
1.CM5.13.1的RPM下载地址
(可左右滑动)
2.将下载的7个rpm包部署至HTTP服务所在服务器的/var/www/html/cm5.13.1目录下
(可左右滑动)
3.在该目录下执行如下命令
(可左右滑动)
4.验证是否部署成功
在浏览器输入
(可左右滑动)
5.配置CM的yum源,删除多余CM的yum源配置
(可左右滑动)
6.验证CM的yum源是否正常
7.停止CM及Cloudera Managent Service等服务
停止成功
使用批处理脚本停止所有节点的cloudera-scm-agent服务
(可左右滑动)
停止cloudera-scm-server服务
(可左右滑动)
8.备份CM的元数据库信息
(可左右滑动)
9.卸载所有节点的cloudera-manager-server及相关服务
(可左右滑动)
注意:这里需要卸载所有节点的cloudera-manager*相关服务,否则在后面升级cloudera-manager-agent服务会失败。
10.安装CM5.13.1版本的Cloudera-manager-server服务
(可左右滑动)
11.初始化数据库连接
(可左右滑动)
注意:如果没有备份/etc/cloudera-scm-server目录下的db.properties数据库配置文件则要执行该操作初始化数据库配置信息。
12.启动Cloudera-scm-server服务
(可左右滑动)
13.登录Cloudera Manager的WEB界面,进入升级向导界面
14.填写CM的存储库地址,点击“继续”
15.安装JDK,点击“继续”
16.输入登录主机密码,点击“继续”
17.升级Cloudera Manager Agent服务,点击“继续”
18.检查主机正确性,点击“继续”
19.完成Cloudera Manager Agent升级
20.点击“完成”,进入升级向导
21.点击“继续”重启Cloudera Management Service服务
22.点击“继续”,重启Cloudera Management Service 服务
点击完成,进入CM主页,至此已完成CM的降级操作。
查看CM已降至5.13.1版本
4.降级后集群功能验证
1.运行一个MapReduce作业
(可左右滑动)
作业执行成功
2.使用Hue测试,Hue登录成功
使用Hive引擎执行SQL操作
使用Impala引擎执行SQL操作
3.向集群提交一个Spark作业
(可左右滑动)
作业执行成功
5.总结
1.Cloudera实际不提供官方或者正式的降级方式。通过前面章节可以看出CDH降级其实是停用5.14的Parcel,然后启用5.13.1的Parcel。而Cloudera Manager则是直接重装。
2.Cloudera Manager的降级其实是有风险的一件事,因为Cloudera Manager的元数据库的schema对于版本之间的变动,降级后如果有问题你需要自己处理。Fayson这次实操选的从5.14降级到5.13,没有什么问题,说明元数据库变化不大。但如果你是真实的生产系统,而且版本跨度较大,建议还是需要谨慎对待。
3.如果你按照Fayson之前的文章《如何升级Cloudera Manager和CDH》,备份了所有元数据库信息,建议你如果降级可以直接选择旧版本的元数据库信息来还原。
4.为了减少处理降级过程中元数据的schema变动问题,可以考虑只降CDH,CM依旧使用新的,因为最终你会将Cloudera Manager和CDH升级到一个稳定的相同版本。
5.对于CDH的降级,如果你版本跨度较大,尤其是HDFS的版本。当你在升级时做了“最终化元数据升级”,HDFS将不能再回滚,即无法降级。HDFS作为存储比较重要,其他的上层的都是计算引擎,如果降级有问题还好处理一些。这里大家也需要注意。Fayson本次实操的5.14和5.13,HDFS版本其实是没变化的,所以问题不大。否则你最好将HDFS的数据备份,或者关键数据备份。
6.如果升级有问题,最好就地解决,不到万不得已最好还是不要轻易选择降级,尤其是生产系统。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操