1、Cloudera Manager升级
1.1、升级前准备
1.1.1准备CM5.16.2相关的rpm包
- 相关包下载地址:

进入/var/www/html/cm5.16.2建立repo元数据
cd /var/www/html/cm5.16.2/createrepo .

验证地址能否访问
http://192.168.0.200:80/cm5.16.2/ (80端口为默认端口,可以不写)

配置CM5.16.2的repo源
vi /etc/yum.repos.d/cm5.16.2.repo配置如下内容:[cm16_repo]name=cm16_repobaseurl=http://192.168.0.200:80/cm5.16.2/enabled=truegpgcheck=false

检测repo源是否配置成功
yum clean allyum repolist

- 注意:状态不能为0,为0请检查径或repo源等问题。
1.1.2、备份CM数据库
- 查看数据库设置

- 记录用到的元数据库

- 备份元数据库 ```shell mkdir ~/cmdb_back/ cd ~/cmdb_back/ mysqldump -uroot -ppassword —databases am >am.back mysqldump -uroot -ppassword —databases cm >cm.back mysqldump -uroot -ppassword —databases rm >rm.back mysqldump -uroot -ppassword —databases metastore >hive.back mysqldump -uroot -ppassword —databases hue >hue.back mysqldump -uroot -ppassword —databases oozie >oozie.back
密码为123456快捷复制如下内容 mysqldump -uroot -p123456 —databases am >am.back mysqldump -uroot -p123456 —databases cm >cm.back mysqldump -uroot -p123456 —databases rm >rm.back mysqldump -uroot -p123456 —databases metastore >hive.back mysqldump -uroot -p123456 —databases hue >hue.back mysqldump -uroot -p123456 —databases oozie >oozie.back
<a name="9Hhna"></a>## 1.2、升级步骤<a name="8aRxL"></a>### 1.2.1、停止服务1. 停止Cloudera Management Service服务2. 确认停止3. 停止执行完毕后点击关闭4. 停止 cloudera-scm-agent并查看是否停止 (所有节点)```shellsystemctl stop cloudera-scm-agentsystemctl status cloudera-scm-agent

停止 cloudera-scm-server 服务并查看状态
systemctl stop cloudera-scm-serversystemctl status cloudera-scm-server

无法访问 http://192.168.0.200:7180 表示停止成功。
1.2.2、yum升级Cloudera Manager版本
- 升级主节点的cloudera包 ```shell yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent
降级:downgrade
2. 检查是否升级成功```shellrpm -qa |grep cloudera

启动cloudera-scm-server
systemctl start cloudera-scm-servernetstat -ntpl | grep 7180
mr作业测试
vi /usr/bin/mr_test.sh
#!/bin/shINPUT_HDFS=/benchmarks/wordcount/inputDATASIZE=10737418240sudo -u hdfs hadoop fs -rm -r ${INPUT_HDFS} || truesudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar randomtextwriter -Dmapreduce.randomtextwriter.totalbytes=${DATASIZE} ${INPUT_HDFS}
执行脚本,访问192.168.0.200:8088端口查看作业
sh /usr/bin/mr_test.sh
1.2.3、Web界面升级Cloudera Manager
启动服务和后使用 admin 用户登录 Cloudera Manager,出现以下界面

启动所有节点的cloudera-scm-agent服务
systemctl start cloudera-scm-agentsystemctl status cloudera-scm-agent
刷新CM页面点击 Upgrade Cloudera Managera Agent Packages如下图

- 自定义存储库为cm5.16.2的地址,点击继续。

- 勾选 JDK,安装 JDK 工具包以及无限制强度加密文件.

- 置 配置 SSH 登录。选择用户,输入密码点击继续。

等待agent升级安装完成点击完成。

检查主机正确性

- 点击显示检查器结果,查看内容,确保结果验证全部通过。

- 重启Cloudera Management Service

- 更改审核

- 勾选重启Cloudera Management Service,点击继续。

- 重启完成点击完成。

- 显示如下界面表示成功

- ClouderaManager升级完成各个组件正常工作

- CM升级验证,版本为cm5.16.2

- 集群 Agent 服务检查,监控心跳在 15s 内,Cloudera Manager Agent 服务正常
2、升级CDH
2.1、升级前准备
2.1.1、部署CDH的Oarcel安装包。
- CDH下载地址:http://archive.cloudera.com/cdh5/parcels/5.14.0/
- 将下载好的 CDH 包放入/var/www/html/cdh5.16.2 目录下
检查 192.168.0.200:80/cdh5.16.2 能否访问
2.1.2、MR 作业测试
运行一个测试的 MR 作业,用于测试集群滚动是否影响到作业运行
- 准备测试脚本 mr_wordcount.sh,编辑内容如下:
```shellvim mr_wordcount.sh
!/bin/bash
INPUT_HDFS=/benchmarks/wordcount/input OUTPUT_HDFS=/benchmarks/wordcount/output NUM_REDS=12 sudo -u hdfs hadoop fs -rm -r $OUTPUT_HDFS || true sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount -Dmapreduce.input.fileinputformat.split.minsize=1073741824 -Dmapreduce.reduce.tasks=${NUM_REDS} ${INPUT_HDFS} ${OUTPUT_HDFS} >wordcount.log 2>&1 &
3. 执行脚本,动态查看日志```shellsh mr_wordcount.shtail -f wordcount.log
- 等待作业运行完毕
2.1.3、备份HDFS 元数据
hadoop dfsadmin -fetchImage ~/nnbak/
2.2、 升级步骤
2.2.1、Wbe界面配置CDH路径
- 配置Parcel库地址

- 自定义地址,保存设置

- 下载CDH16版本

- 分配CDH16版本

- 等待分配完毕变成【升级】
2.2.2、MapReduce作业测试

- 选择要升级的CDH版本

- 运行主机检查器,检查完毕后勾选同意选项,单击继续

- 分配升级完毕,点击继续

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

- 等待升级命令执行完毕后点击继续

- 完成安装
2.2.4、最终化元数据升级
注意:在进行最终化元数据升级之前,要观察几天甚至几周的时间,观察集群的运行是否正常,在发现所有的任务都没有任何异常后,再进行最终化元数据升级操作。一旦进行升级操作后,就无法再进行回滚,除非有数据备份。执行升级操作如下:
- 在NameNode控制界面操作【最终化元数据】

- 开始执行

- 最终化元数据升级完成
3、测试集群
3.1、验证mapreduce作业
运行官方 jar 包进行圆周率测试
sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5
3.2、Hive 测试
进入 hive cli,执行建表以及其他操作
3.3、Hue 测试
3.3.1、Hue测试Hive
- 创建一个test2测试表

- 向表中插入数据

- 执行count操作

- 查询表
3.3.2、Hue测试Impala
- 插入一条数据
3.4、Implla测试

4、错误问题解决
- 一直停留在正在获取界面

- 解决办法:进入/tmp 目录,ls -a查看,删除scm_prepare_node.*的文件,以及.scm_prepare_node.lock文件。
rm -rf /tmp/scm_prepare_node.*rm -rf /tmp/.scm_prepare_node.lock
