1. 升级说明
CM与CDH的升级过程有点类似与安装过程,这里我们也是采用离线安装模式,各软件版本信息为:
操作系统:CentOS6.8
CDH版本:5.7.1:CDH-5.7.1-1.cdh5.7.1.p0.11-el5.parcel.sha
CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel
manifest.json
升级到 5.11.0:CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel
CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha
manifest.json
*********不要在没有将parcel包放入相关目录前就点击升级向导,会在线下载且无法关闭***********
2. 升级cloudera manager
2.1. 检查升级信息
- 检查是否有SSH免密钥
- 检查操作系统类型和版本支持
- 检查jdk版本支持
- 检查CDH信息
- 检查CDH安装来源(parcel)
- 检查正在运行的服务
2.2. 备份CM数据库
- 停止CM服务
- 备份如下CM的数据库
mysqldump -hhostname -uusername -ppassword database > /tmp/databasename-backup.sql |
2.3. 升级jdk(根据升级前后具体版本,如果新版本不支持老的的JDK则需要升级)
2.4. 准备rpm升级包
2.5. 升级CM
1、关闭CMserver、数据库、CMagent的服务
sudo service cloudera-scm-server stop sudo service cloudera-scm-agent stop |
2、下载CM的压缩包,链接是
https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cm_vd.html#cmvd_topic_1下载如下rpm包:
cloudera-manager-agent-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
cloudera-manager-server-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
cloudera-manager-daemons-5.7.0-1.cm570.p0.76.el6.x86_64.rpm
3、创建安装包目录
mkdir /tmp/cloudera-manager-upgrade/cm |
4、分发agent和daemon到agent
scp -r cm root@node3:/tmp/cloudera-manager-upgrade/cm |
5、升级
rpm -Uvh /tmp/cloudera-manager-upgrade/cm/*.rpm (客户端和主机都要对应升级) |
2.6. 检查升级结果
进入CM控制台验证即可。
3. 升级CDH
3.1. 检查升级信息
- 检查是否有SSH免密钥
- 检查操作系统类型和版本支持
- 检查jdk版本支持
- 检查CM信息
- 检查CDH信息
- 检查CDH安装来源(parcel)
- 检查正在运行的服务
- 检查数据库信息(Oozie、Hue、Hive Metastore、Sentry Server)
3.2. 准备工作:
- 去官网查看版本支持、发行说明和已知安全问题
- 确认已安装jdk
- 确保CM版本大于即将升级的CDH版本
- 如果旧版本是CDH5.1且使用了hive数据的分区,首先要更新数据格式,考参https://www.cloudera.com/documentation/enterprise/5-11-x/topics/cdh_rn_hive_ic.html#topic_3_6__li_nys_12n_xq
- 如果使用了impala,检查sql语句是否和最新更新相匹配,检查地址:https://www.cloudera.com/documentation/enterprise/5-11-x/topics/impala_incompatible_changes.html#incompatible_changes
- 如果使用了impala和Llama,且新版本高于5.9,必须从impala服务中移除Llama这个角色。
- 运行主机检查器和安全检查器(inspe)
- 以HDFS用户登录检查
hdfs fsck / hdfs dfsadmin -report (打印错误) |
- 检查以HBase用户登录节点,检查
hbase hbck |
- 如果HUE配置了TLS,且原版本是5.2或5.3,需要创建truststore
- 如果安装了Flume或者Kafka,且新版本是5.8,额外进行下面步骤
3.3. 备份NameNode元数据信息
# cd /data/dfs/nn(通过CM找到的NN数据目录) # tar -cvf /root/nn_backup_data.tar . |
3.4. 备份Sqoop、Hue、Oozie、SenTry、Hive、CMservice的数据库
mysqldump -hhostname -uusername -ppassword database > /tmp/databasename-backup.sql |
3.5. 升级CDH
1、将新版本的CDH的parcel包,也放在/opt/clouera/parcel-repo下,包括parcel和parcel.sha,不需要mainfest.json
2、CM管理页面中点集群、升级集群,一直下一步:
3、选择下好的parcel包对应版本
4、一路下一步即可
注意检查是否有失败的步骤,若有,手动重启