1、Cloudera Manager升级

1.1、升级前准备

1.1.1准备CM5.16.2相关的rpm包

  1. 相关包下载地址:

image.png

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

    1. cd /var/www/html/cm5.16.2/
    2. createrepo .

    image.png

  2. 验证地址能否访问

    1. http://192.168.0.200:80/cm5.16.2/ (80端口为默认端口,可以不写)

    image.png

  3. 配置CM5.16.2的repo源

    1. vi /etc/yum.repos.d/cm5.16.2.repo
    2. 配置如下内容:
    3. [cm16_repo]
    4. name=cm16_repo
    5. baseurl=http://192.168.0.200:80/cm5.16.2/
    6. enabled=true
    7. gpgcheck=false

    image.png

  4. 检测repo源是否配置成功

    1. yum clean all
    2. yum repolist

    image.png

  • 注意:状态不能为0,为0请检查径或repo源等问题。

1.1.2、备份CM数据库

  1. 查看数据库设置

image.png

  1. 记录用到的元数据库

image.png

  1. 备份元数据库 ```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

  1. ![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)
  2. <a name="9Hhna"></a>
  3. ## 1.2、升级步骤
  4. <a name="8aRxL"></a>
  5. ### 1.2.1、停止服务
  6. 1. 停止Cloudera Management Service服务
  7. ![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)
  8. 2. 确认停止
  9. ![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)
  10. 3. 停止执行完毕后点击关闭
  11. ![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)
  12. 4. 停止 cloudera-scm-agent并查看是否停止 (所有节点)
  13. ```shell
  14. systemctl stop cloudera-scm-agent
  15. systemctl status cloudera-scm-agent

image.png

  1. 停止 cloudera-scm-server 服务并查看状态

    1. systemctl stop cloudera-scm-server
    2. systemctl status cloudera-scm-server

    image.png

  2. 无法访问 http://192.168.0.200:7180 表示停止成功。

image.png

1.2.2、yum升级Cloudera Manager版本

  1. 升级主节点的cloudera包 ```shell yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

降级:downgrade

  1. ![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. 2. 检查是否升级成功
  3. ```shell
  4. rpm -qa |grep cloudera

image.png

  1. 启动cloudera-scm-server

    1. systemctl start cloudera-scm-server
    2. netstat -ntpl | grep 7180
  2. mr作业测试

    1. vi /usr/bin/mr_test.sh
    1. #!/bin/sh
    2. INPUT_HDFS=/benchmarks/wordcount/input
    3. DATASIZE=10737418240
    4. sudo -u hdfs hadoop fs -rm -r ${INPUT_HDFS} || true
    5. sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar randomtextwriter -Dmapreduce.randomtextwriter.totalbytes=${DATASIZE} ${INPUT_HDFS}
  3. 执行脚本,访问192.168.0.200:8088端口查看作业

    1. sh /usr/bin/mr_test.sh

    image.png

    1.2.3、Web界面升级Cloudera Manager

  4. 启动服务和后使用 admin 用户登录 Cloudera Manager,出现以下界面

image.png

  1. 启动所有节点的cloudera-scm-agent服务

    1. systemctl start cloudera-scm-agent
    2. systemctl status cloudera-scm-agent
  2. 刷新CM页面点击 Upgrade Cloudera Managera Agent Packages如下图

image.png

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

image.png

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

image.png

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

image.png

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

    image.png

  2. 检查主机正确性

image.png

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

image.png

  1. 重启Cloudera Management Service

image.png

  1. 更改审核

image.png

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

image.png

  1. 重启完成点击完成。

image.png

  1. 显示如下界面表示成功

image.png

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

image.png

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

image.png

  1. 集群 Agent 服务检查,监控心跳在 15s 内,Cloudera Manager Agent 服务正常

image.png

2、升级CDH

2.1、升级前准备

2.1.1、部署CDH的Oarcel安装包。

  1. CDH下载地址:http://archive.cloudera.com/cdh5/parcels/5.14.0/
  2. 将下载好的 CDH 包放入/var/www/html/cdh5.16.2 目录下
  3. 检查 192.168.0.200:80/cdh5.16.2 能否访问

    2.1.2、MR 作业测试

  4. 运行一个测试的 MR 作业,用于测试集群滚动是否影响到作业运行

  5. 准备测试脚本 mr_wordcount.sh,编辑内容如下:
    1. vim mr_wordcount.sh
    ```shell

    !/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 &
  1. 3. 执行脚本,动态查看日志
  2. ```shell
  3. sh mr_wordcount.sh
  4. tail -f wordcount.log
  1. 等待作业运行完毕

image.png

2.1.3、备份HDFS 元数据

  1. hadoop dfsadmin -fetchImage ~/nnbak/

2.2、 升级步骤

2.2.1、Wbe界面配置CDH路径

  1. 配置Parcel库地址

image.png

  1. 自定义地址,保存设置

image.png

  1. 下载CDH16版本

image.png

  1. 分配CDH16版本

image.png

  1. 等待分配完毕变成【升级】

image.png

2.2.2、MapReduce作业测试

  1. 运行一个 mr 作业测试

    1. sh /usr/bin/mr_wordcount.sh
    2. tail -f wordcount.log

    2.2.3、升级集群

  2. 主页面手动升级集群

image.png

  1. 选择要升级的CDH版本

image.png

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

image.png

  1. 分配升级完毕,点击继续

image.png

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

image.png

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

image.png

  1. 完成安装

image.png

2.2.4、最终化元数据升级

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

  1. 在NameNode控制界面操作【最终化元数据】

image.png

  1. 开始执行

image.png

  1. 最终化元数据升级完成

image.png

3、测试集群

3.1、验证mapreduce作业

  1. 运行官方 jar 包进行圆周率测试

    1. sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 5 5

    image.png

    3.2、Hive 测试

  2. 进入 hive cli,执行建表以及其他操作

image.png

3.3、Hue 测试

3.3.1、Hue测试Hive

  1. 创建一个test2测试表

image.png

  1. 向表中插入数据

image.png

  1. 执行count操作

image.png

  1. 查询表

image.png

3.3.2、Hue测试Impala

  1. 插入一条数据

image.png

3.4、Implla测试

image.png

4、错误问题解决

  1. 一直停留在正在获取界面

image.png

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