CDH 5.16.2原地升级到CDP7.1.7
1 升级Cloudera管理器
1.1 升级Cloudera管理器准备
1.1.1.1 关闭cloudera上托管的组件
1.1.1.2 关闭Cloudera management service服务
检查os版本
之后,停止 cm 代理和服务器,配置升级 cm 存储库并进行升级。
//停止cloudera manager server # systemctl stop cloudera-scm-server //停止cloudera manager代理 # systemctl stop cloudera-scm-agent
//清除旧版本的supervisor,通过ps命令找到supervisor的pid
# ps -ef |grep cloudera
//清理supervisor # kill -9 <old_supervisor_pid>
//清理yum的cache
# sudo yum clean all
//删除cloudera manager server和agent
# sudo yum remove -y cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent
//解压cm7.4.4本地安装包
# cd /home/training/Downloads # tar xvzf cm7.4.4-redhat7.tar.gz
//安装cm7.4.4
# sudo yum localinstall -y cloudera-manager-server-7* cloudera-manager-daemons* cloudera-manager-agent*
//设置cm server的db连接配置
# cd /etc/cloudera-scm-server # sudo cp db.properties.rpmsave db.properties
点击“Start Cloudera Management Service”启动cm管理服务,等待命令结束
解决升级后service monitor实例报错问题:
##如下sql命令更改列METRIC_ID的数据类型为BIGINT alter table CMON_METRIC_INFO modify `METRIC_ID` BIGINT NOT NULL; 如下图所示,更改后Activity Monitor可以正常启动
根据提示更新陈旧的配置
在cm控制台的parcel页面,找到CDP Runtime 7.1.7 Parcel点击“Download”下载parcel,该过程耗时较长
跨集群节点分发下载的包裹
分发后,升级按钮出现
2 升级集群
2.1 升级Cloudera管理器准备
该步骤主要用于备份Cloudera Manager Server,Cloudera Management服务以及集群Hadoop服务的RDBMS数据库,可以参考附录中“第3步:备份集群”以及“第4步:备份 Cloudera Manager”,升级实践中为了聚焦于升级重要步骤,学员可以选择跳过这一步并继续下一步。
备份cm Server命令
sudo su mkdir -p /root/backup cd /root/backup export CM_BACKUP_DIR="`date +%F`-CM" echo $CM_BACKUP_DIR mkdir -p $CM_BACKUP_DIR tar cvzf $CM_BACKUP_DIR/cloudera-scm-server.tar.gz /etc/cloudera-scm-server /etc/default/cloudera-scm-server tar cvzf $CM_BACKUP_DIR/repository.tar.gz /etc/yum.repos.d
备份cm agent命令
tar cvzf $CM_BACKUP_DIR/cloudera-scm-agent.tar.gz --exclude=*.sock /etc/cloudera-scm-agent/ /etc/default/cloudera-scm-agent /var/run/cloudera-scm-agent/ /var/lib/cloudera-scm-agent/
mkdir -p /root/backup/databases cd /root/backup/databases mysqldump -u root -ptraining amon > amon_db_backup.sql mysqldump -u root -ptraining scm > scm_db_backup.sql mysqldump -u root -ptraining metastore > metastore_db_backup.sql mysqldump -u root -ptraining rman > rman_db_backup.sql mysqldump -u root -ptraining oozie > oozie_db_backup.sql mysqldump -u root -ptraining hue > hue_db_backup.sql
##需要注意的是事,备份前需停止组件服务
Zookeeper备份
cp -rp /var/lib/zookeeper/ /root/backup/zookeeper-backup-`date +%F`CM-CDH
Namenode备份
//备份元数据 mkdir -p /root/backup/nn-CM-CDH cp -rp /dfs/nn /root/backup/nn-CM-CDH //备份namenode配置数据 mkdir -p /root/backup/conf.rollback.namenode cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-NAMENODE\$" | head -1` cp -rp * /root/backup/conf.rollback.namenode/ rm -rf /root/backup/conf.rollback.namenode/log4j.properties cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /root/backup/conf.rollback.namenode/
Secondary Namenode 备份
mkdir -p /root/backup/conf.rollback.secondarynamenode cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-SECONDARYNAMENODE\$" | head -1` cp -rp * /root/backup/conf.rollback.secondarynamenode/ rm -rf /root/backup/conf.rollback.secondarynamenode/log4j.properties cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /root/backup/conf.rollback.secondarynamenode/
Datanode 备份
mkdir -p /root/backup/conf.rollback.datanode cd /var/run/cloudera-scm-agent/process/ && cd `ls -t1 | grep -e "-DATANODE\$" | head -1` cp -rp * /root/backup/conf.rollback.datanode/ rm -rf /root/backup/conf.rollback. datanode/log4j.properties cp -rp /etc/hadoop/conf.cloudera.hdfs/log4j.properties /root/backup/conf.rollback.datanode/
Hue备份
mkdir -p /root/backup/parcels_backup cp -rp /opt/cloudera/parcels/CDH/lib/hue/app.reg /root/backup/parcels_backup/app.reg-CM-CDH
CM 管理服务备份
mkdir -p /root/backup/cm_mgt/cloudera-service-monitor-`date +%F`-CM sudo cp -rp /var/lib/cloudera-service-monitor /root/backup/cm_mgt/cloudera-service-monitor-`date +%F`-CM mkdir -p /root/backup/cm_mgt/cloudera-host-monitor-`date +%F`-CM sudo cp -rp /var/lib/cloudera-host-monitor /root/backup/cm_mgt/cloudera-host-monitor-`date +%F`-CM mkdir -p /root/backup/cm_mgt/cloudera-scm-eventserver-`date +%F`-CM sudo cp -rp /var/lib/cloudera-scm-eventserver /root/backup/cm_mgt/cloudera-scm-eventserver-`date +%F`-CM
2.2 进入维护模式
您可以启用维护模式以避免在升级过程中出现不必要的警报。
为避免在升级过程中出现不必要的警报,请在开始升级之前在集群上进入维护模式。进入维护模式会停止发送电子邮件警报和 SNMP 陷阱,但不会停止检查和配置验证。完成升级以重新启用 Cloudera Manager 警报后,请务必退出维护模式。更多信息。
在主页 > 状态选项卡上,单击集群名称旁边的操作菜单,然后选择进入维护模式(Enter Maintenance Mode)。
2.3 运行升级集群向导
2.3.1登陆到Cloudera Manager 管理控制台
2.3.2 点击“Add Yarn Queue Manager Service”,以下向导将引导您将公平调度器转换为容量调度器
1. 其他任务部分列出了在继续之前要注意的其他任务或提醒。选择选项以确认您理解,然后再继续。
注意:
由公平调度升级到容量调度,生成容量调度配置文件中的调度配置参数要对应成现场的,否则后面升级会报错,以下命令标红的关键字
root@localhost:/home/training/Downloads$ /opt/cloudera/parcels/CDH-7.1.7-1.cdh7.1.7.p1000.24102687/bin/yarn fs2cs --cluster-resource memory-mb=1048576,vcores=8 --no-terminal-rule-check -y yarn-site.xml -f fair-scheduler.xml -o /root/output
集群退出维护模式:
#使用hdfs dfsadmin -report命令查看报under replica
解决办法:
sudo -u hdfs hdfs dfs -setrep -w 1 /user/
升级完成组件状态正常:
组件版本: