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_repo
baseurl=http://192.168.0.200:80/cm5.16.2/
enabled=true
gpgcheck=false
检测repo源是否配置成功
yum clean all
yum 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
![image.png](https://cdn.nlark.com/yuque/0/2020/png/2680099/1606018450694-6a3ed71c-b21d-423a-a9b5-89fb14659544.png#align=left&display=inline&height=284&margin=%5Bobject%20Object%5D&name=image.png&originHeight=284&originWidth=1349&size=37816&status=done&style=none&width=1349)
<a name="9Hhna"></a>
## 1.2、升级步骤
<a name="8aRxL"></a>
### 1.2.1、停止服务
1. 停止Cloudera Management Service服务
![image.png](https://cdn.nlark.com/yuque/0/2020/png/2680099/1605766323916-b2c7617e-94bc-4fb4-b941-3bb0a9d605c7.png#align=left&display=inline&height=959&margin=%5Bobject%20Object%5D&name=image.png&originHeight=959&originWidth=1609&size=151080&status=done&style=none&width=1609)
2. 确认停止
![image.png](https://cdn.nlark.com/yuque/0/2020/png/2680099/1605766348368-35775401-80fb-4785-a187-567ee8c519d6.png#align=left&display=inline&height=959&margin=%5Bobject%20Object%5D&name=image.png&originHeight=959&originWidth=1609&size=136589&status=done&style=none&width=1609)
3. 停止执行完毕后点击关闭
![image.png](https://cdn.nlark.com/yuque/0/2020/png/2680099/1605766576287-1a810e6c-6140-4023-bcf1-bdf993a8f694.png#align=left&display=inline&height=395&margin=%5Bobject%20Object%5D&name=image.png&originHeight=395&originWidth=1446&size=34579&status=done&style=none&width=1446)
4. 停止 cloudera-scm-agent并查看是否停止 (所有节点)
```shell
systemctl stop cloudera-scm-agent
systemctl status cloudera-scm-agent
停止 cloudera-scm-server 服务并查看状态
systemctl stop cloudera-scm-server
systemctl 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
![image.png](https://cdn.nlark.com/yuque/0/2020/png/2680099/1606018766547-9bc103a4-f77d-483b-93cb-42f521928691.png#align=left&display=inline&height=95&margin=%5Bobject%20Object%5D&name=image.png&originHeight=95&originWidth=1349&size=17836&status=done&style=none&width=1349)
2. 检查是否升级成功
```shell
rpm -qa |grep cloudera
启动cloudera-scm-server
systemctl start cloudera-scm-server
netstat -ntpl | grep 7180
mr作业测试
vi /usr/bin/mr_test.sh
#!/bin/sh
INPUT_HDFS=/benchmarks/wordcount/input
DATASIZE=10737418240
sudo -u hdfs hadoop fs -rm -r ${INPUT_HDFS} || true
sudo -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-agent
systemctl 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. 执行脚本,动态查看日志
```shell
sh mr_wordcount.sh
tail -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