0009-如何升级Cloudera Manager和CDH

Fayson的github: https://github.com/fayson/cdhproject
推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f,或者扫描文末二维码。

1 文档编写目的

本文档讲述如何升级Cloudera Manager和CDH,通过本文档,您将学习到以下知识:

1.如何对Cloudera Manager进行停机升级

2.如何对CDH进行停机升级

3.如何在不影响集群作业的情况下进行CDH滚动升级

文档主要分为以下几步:

1.Cloudera升级概述

2.Minor版本Cloudera Manager和CDH升级

3.Maintenance版本滚动升级CDH

4.滚动升级时进行任务验证

5.集群升级完成后功能验证

这篇文档将重点介绍CDH升级,并基于以下假设:

1.CDH5.4.3环境已搭建并正常运行

2.集群服务(CM、HBase、HDFS、Hive、Hue、Oozie、Spark、Yarn、Zookeeper)

3.Cloudera Manager使用rpm安装

4.CDH使用parcels安装

5.集群未配置Kerberos

以下是本次测试环境,但不是本操作手册的硬限制:

1.操作系统:Redhat6.5

2.旧CM/CDH版本:CM5.4.3/ CDH5.4.3

3.目标CM/CDH的升级版本:CM5.11.1/ CDH5.11.1

4.采用sudo权限的ec2-user用户进行操作

升级建议:

1.针对CDH的Maintenance Version升级,可以使用滚动升级,比如:5.4.x升级到5.4.y,这种版本升级主要修复bug,不改动API,也不涉及新的功能。

2.针对CDH的Minor Version升级,建议停机升级或者滚动升级(如果跨度不大),比如5.x.x升级到5.y.y,这种版本升级主要是增加新的功能和新的API。

3.针对CDH的Major Version升级,建议必须停机升级,而且在升级前需要对已有应用和作业的改造和升级进行完备的测试验证,相应升级时停机时间会较长,这种版本升级一般是Hadoop相关组件的大版本升级,可能会改动API。

2 Cloudera升级概述

下面描述的流程适用于由Cloudera Manager管理的集群,对于不是由Cloudera Manager管理的集群升级,请参考:Upgrading Unmanaged CDH Using the Command Line

你可以使用tarballs或operating system packages来升级Cloudera Manager,然后使用packages或parcels来升级CDH。同时有可能还需要安装一个新版JDK。升级Cloudera Manager的同时Cloudera Navigator也会被升级。

CDH和Cloudera Manager不用同时升级,但是需要保证Cloudera Manager和CDH版本的兼容。Cloudera Manager可以管理当前或以前的major版本的CDH,或相同minor版本的CDH,或较低minor版本的CDH。比如,Cloudear Manager 5.7.1可以管理CDH5.7.2,CDH5.6.1和CDH4.8.6,但是不能管理CDH5.8.1. Cloudera Manager5.x不能管理CDH3.x。

升级时具体有如下几种选择:

0009-如何升级Cloudera Manager和CDH_第1张图片

2.1 评估升级影响

一般需要规划一个足够长的维护窗口(停机时间)进行升级。根据需要升级的组件,集群的节点数,以及不同的硬件情况,你可能需要一整天来进行升级。开始升级之前,你需要做好一些前置条件准备以及关键数据备份,这篇文档在讲述升级步骤时也会说明。

升级之前,需要查阅Cloudera Manager的Cloudera Enterprise 5.x Release Notes,了解API更改,不推荐的功能,新的功能以及不兼容的更改。同时需要检查CDH 5 and Cloudera Manager 5 Requirements and Supported Versions来确认支持的操作系统,JDK,数据库和其他组件。

一共有三种版本的升级:major,minor和maintenance。

Major升级

Major版本的升级通常有以下特征:

Hadoop的大版本变化,涉及很多更新内容

  • 不兼容的数据格式
  • Cloudera Manager界面的重大变化
  • Cloudera Manager的数据库schema变动,不过可以在升级过程中自动被处理
  • 需要较长的停机时间
  • 需要重新部署客户端

你也可以只升级major版本,而保持minor版本不变,比如你可以从4.8.1升级到5.8.0. 为了方便下一个major版本的升级(CDH6),我们建议您现在可以将集群升级到5.x

Minor版本升级

Minor版本升级是指基于同样的major版本将minor版本进行升级,比如从5.4.x升级到5.8.x,一般有以下特征:

  • 新的功能
  • Bug修复
  • 可能存在的数据库schema更改会在Cloudera Manager升级时自动被处理

一般来说,minor版本的升级不包括不兼容的更改或者数据格式的变化。客户端配置(Client Configuration Files)会被重置。

Maintenance版本升级

Maintenance版本升级主要是重大bug修复或者解决一些安全问题。不会有兼容性修改和新功能。

2.2 Cloudera Manager升级概述

0009-如何升级Cloudera Manager和CDH_第2张图片

升级Cloudera Manager包括以下步骤:

1.在CM节点上升级Cloudera Manager Server,使用操作系统的命令,比如Redhat的yum。也可以手动通过tarballs来升级。tarballs升级比较适合集群中已经有一些可以同时操作多台机器的脚本,程序或工具。

2.在所有主机上升级Cloudera Manager agent,Cloudera Manager的升级向导可以帮助你升级agent(JDK升级可选),同时也可以手动的通过tarballs升级JDK和agent。在这个过程中,CDH并不会被升级。

Cloudera Manager升级,可以参考官网文档:Upgrading Cloudera Manager

2.3 CDH升级概述

0009-如何升级Cloudera Manager和CDH_第3张图片

CDH升级包含Hadoop相关组件的升级,你可以使用Cloudera Manager来升级CDH,采用parcel和package的方式都可以。

2.3.1 使用Parcel升级(同时适用于滚动升级)

我们建议使用parcels来升级CDH,因为Cloudera Manager管理这些parcels自动下载,分发和激活。有两种方式的升级:

  • Parcels:需要重启集群才能完成升级。
  • 滚动升级:如果HDFS启用了高可用HA,可以在不重启集群的情况下进行滚动升级。为了简化升级步骤,可以考虑从package切换到parcels,这样Cloudera Manager可以大大简化升级步骤。在升级CDH5的时候你从package切换到parcels也可以。

2.3.2 使用Packages升级

使用packages升级需要你提前下载好需要升级的packages,然后手动的运行package更新命令来升级,注意所有主机都需要进行相同的操作。参考:Upgrading to CDH 5.x Using Packages

从Cloudera Manager5.3开始,CDH提供向导式的升级包括major版本升级(CDH5到CDH5),minor版本升级(CDH5.x到5.y)和maintenance版本升级(CDHa.b.x到CDHa.b.y)。无论你是使用parcels安装还是package都支持,但是package需要你手动安装和升级,但是parcels可以被Cloudera Manager自动安装和升级。参考:Upgrading CDH and Managed Services Using Cloudera Manager

2.4 Cloudera Navigator升级概述

当升级Cloudera Manager的时候,Cloudera Navigator Metadata和Audit servers会被自动升级。你还可以升级其他的Navigator组件比如Cloudera Navigator Key Trustee Server, Cloudera Navigator Key HSM和Cloudera Navigator Encrypt。当然也可以选择不升级。参考:Upgrading Cloudera Navigator Components

2.5 JDK升级

在升级Cloudera Manager和CDH之前,请确保集群内的所有主机都是使用受支持的Oracle JDK,参考:supported version of the Oracle Java Development Kit (JDK)。同时,所有主机必须使用相同版本的JDK:参考:Upgrading to Oracle JDK 1.8

3 Minor版本升级

升级前置条件:

1.确保当前系统版本支持您要升级到的新版本CDH5和Cloudera Manager5

2.原Cloudera Manager和CDH的版本为5.4.3

3.Cloudera Manager和CDH的目标升级版本为5.11.1

3.1 Cloudera Manager升级

本章节主要讲述如何使用RPM包升级Cloudera Manager。

3.1.1 升级前准备

3.1.1.1Cloudera Manager的yum源配置

1.准备待升级rpm包

wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/cloudera-manager-agent-5.11.1-1.cm5111.p0.9.el6.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/cloudera-manager-daemons-5.11.1-1.cm5111.p0.9.el6.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/cloudera-manager-server-5.11.1-1.cm5111.p0.9.el6.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/cloudera-manager-server-db-2-5.11.1-1.cm5111.p0.9.el6.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/enterprise-debuginfo-5.11.1-1.cm5111.p0.9.el6.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/jdk-6u31-linux-amd64.rpm
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

2.将下载的安装包放在/var/www/html/cm5.11.1目录下

在这里插入图片描述

进入cm5.11.1目录,运行命令:

[ec2-user@ip-172-31-8-141 cm5.11.1]$ sudo createrepo .

0009-如何升级Cloudera Manager和CDH_第4张图片

3.验证是否能通过浏览器访问

0009-如何升级Cloudera Manager和CDH_第5张图片

4.配置/etc/yum.repos.d/cloudera-manager.repo文件,内容如下

[cloudera-manager]
name = Cloudera Manager, Version 5.11.1
baseurl = http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.11.1/
gpgcheck = 0

5.测试yum源是否正常

[ec2-user@ip-172-31-8-141 yum.repos.d]$ sudo yum clean all
[ec2-user@ip-172-31-8-141 yum.repos.d]$ sudo yum repolist

在这里插入图片描述

3.1.1.2 备份Cloudera Manager数据库

1.停止Cloudera Management Service服务

0009-如何升级Cloudera Manager和CDH_第6张图片

2.备份Cloudera Manager数据库,在命令行执行如下命令

  • Cloudera Manager Server

  • Cloudera Navigator Audit Server

  • Cloudera Navigator Metadata Server

  • Activity Monitor

  • Reports Manager

[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u cm -p --databases cm >cm.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u nas -p --databases nas >nas.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u nms -p --databases nms >nms.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u am -p --databases am >am.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u rm -p --databases rm >rm.dump

0009-如何升级Cloudera Manager和CDH_第7张图片

查找数据库相关的信息,可从如下文件中查找

Cloudera Manager Server的数据库信息,通过配置文件/etc/cloudera-scm-server/db.properties获取

0009-如何升级Cloudera Manager和CDH_第8张图片

其它服务的数据库信息,可以通过CM管理界面获取

0009-如何升级Cloudera Manager和CDH_第9张图片

3.1.2 升级步骤

1.停止Cloudera Management Service服务

0009-如何升级Cloudera Manager和CDH_第10张图片

0009-如何升级Cloudera Manager和CDH_第11张图片

0009-如何升级Cloudera Manager和CDH_第12张图片

2.停止Cloudera Manager Server和agent

停止所有服务器的cloudera-scm-agent服务

[ec2-user@ip-172-31-8-141 ~]$ sudo service cloudera-scm-agent stop

0009-如何升级Cloudera Manager和CDH_第13张图片

在运行Cloudera Manager服务器的主机上,停止cloudera-scm-server服务

[ec2-user@ip-172-31-8-141 cdh-shell-master]$ sudo service cloudera-scm-server stop

在这里插入图片描述

0009-如何升级Cloudera Manager和CDH_第14张图片

3.在Cloudera Manager上备份以下目录

[ec2-user@ip-172-31-8-141 cm_bak]$ sudo scp -r /etc/cloudera-scm-server/ /home/ec2-user/upgrade/cm_bak/
[ec2-user@ip-172-31-8-141 cm_bak]$ sudo scp -r /etc/cloudera-scm-agent/ /home/ec2-user/upgrade/cm_bak/

在这里插入图片描述

注意文件目录权限与原数据目录权限一致。

4.运行以下命令进行Cloudera Manager Server升级

[ec2-user@ip-172-31-8-141 cm_bak]$ sudo yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

在这里插入图片描述

检查是否安装成功

[ec2-user@ip-172-31-8-141 cm_bak]$ rpm -qa |grep cloudera-

在这里插入图片描述

5.启动Cloudera Manager Server服务

[ec2-user@ip-172-31-8-141 cloudera-scm-agent]$ sudo service cloudera-scm-server start

在这里插入图片描述

6.登录Cloudera Manager管理控制台,显示升级向导

0009-如何升级Cloudera Manager和CDH_第15张图片

7.选择升级Cloudera Manager Agent软件包,继续

0009-如何升级Cloudera Manager和CDH_第16张图片

8.选择“自定义存储库”,配置2.1.2章节的地址,点击“继续”

0009-如何升级Cloudera Manager和CDH_第17张图片

9.选择JDK选择,点击“继续”

0009-如何升级Cloudera Manager和CDH_第18张图片

10.根据要求输入SSH登录凭证,点击“继续”

0009-如何升级Cloudera Manager和CDH_第19张图片

11.等待安装完成,点击“继续”

0009-如何升级Cloudera Manager和CDH_第20张图片

12.检查完成,点击“完成”

0009-如何升级Cloudera Manager和CDH_第21张图片

13.进入审核更改向导界面,点击“继续”

0009-如何升级Cloudera Manager和CDH_第22张图片

14.选择重启Cloudera Management Service,点击“继续”

0009-如何升级Cloudera Manager和CDH_第23张图片

15.服务重启成功,点击“完成”

0009-如何升级Cloudera Manager和CDH_第24张图片

集群服务任在正常运行

0009-如何升级Cloudera Manager和CDH_第25张图片

Cloudera Manager在升级后报告过时的配置,请重新启动集群服务并重新部署客户端配置

0009-如何升级Cloudera Manager和CDH_第26张图片

0009-如何升级Cloudera Manager和CDH_第27张图片

3.1.3 Cloudera Manager升级验证

1.查看Cloudera Manager版本

0009-如何升级Cloudera Manager和CDH_第28张图片

版本显示为升级后版本

2.验证Agent是否向Cloudera Manager发送心跳

0009-如何升级Cloudera Manager和CDH_第29张图片

默认情况下,该心跳为15s一次;

3.检查所有主机

在这里插入图片描述

0009-如何升级Cloudera Manager和CDH_第30张图片

4.集群历史监控数据

0009-如何升级Cloudera Manager和CDH_第31张图片

3.2 CDH升级

3.2.1 升级前准备

3.2.1.1准备CDH的parcels包

1.选择cdh5.11.1版本下载对应的parcels

wget http://archive.cloudera.com/cdh5/parcels/5.11.1/CDH-5.11.1-1.cdh5.11.1.p0.4-el6.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.11.1/CDH-5.11.1-1.cdh5.11.1.p0.4-el6.parcel.sha1
wget http://archive.cloudera.com/cdh5/parcels/5.11.1/manifest.json

2.将下载下来的3个文件,放在/var/www/html/cdh5.11.1目录下

在这里插入图片描述

3.测试通过http是否能正常访问

0009-如何升级Cloudera Manager和CDH_第32张图片

配置完成后,供后面升级CDH使用

3.2.2 升级流程

1.停止集群服务

0009-如何升级Cloudera Manager和CDH_第33张图片

0009-如何升级Cloudera Manager和CDH_第34张图片

0009-如何升级Cloudera Manager和CDH_第35张图片

2.备份NameNode上的HDFS Metastore

0009-如何升级Cloudera Manager和CDH_第36张图片

在NameNode节点上备份该目录到指定目录下

[ec2-user@ip-172-31-8-141 dfs]$ cd /dfs/
[ec2-user@ip-172-31-8-141 dfs]$ sudo tar -czvf /home/ec2-user/upgrade/nn_bak/nn_backup.tar.gz nn/

0009-如何升级Cloudera Manager和CDH_第37张图片

3.备份数据库

  • Cloudera Manager Server
[ec2-user@ip-172-31-8-141 hadoopdb_bak]$ mysqldump -u hue -p --database hue >hue.dump
[ec2-user@ip-172-31-8-141 hadoopdb_bak]$ mysqldump -u hive -p --database metastore >metastore.dump
[ec2-user@ip-172-31-8-141 hadoopdb_bak]$ mysqldump -u oozie -p --database oozie >oozie.dump
[ec2-user@ip-172-31-8-141 hadoopdb_bak]$ mysqldump -u sentry -p --database sentry >sentry.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u cm -p --databases cm >cm.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u nas -p --databases nas >nas.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u nms -p --databases nms >nms.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u am -p --databases am >am.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u rm -p --databases rm >rm.dump

0009-如何升级Cloudera Manager和CDH_第38张图片

4.向集群中添加新版的CDH存储库

0009-如何升级Cloudera Manager和CDH_第39张图片

0009-如何升级Cloudera Manager和CDH_第40张图片

0009-如何升级Cloudera Manager和CDH_第41张图片

5.运行升级向导

0009-如何升级Cloudera Manager和CDH_第42张图片

6.进入升级向导界面

0009-如何升级Cloudera Manager和CDH_第43张图片

7.确认CDH版本是否正确,点击“继续”

0009-如何升级Cloudera Manager和CDH_第44张图片

8.选择“是”,点击“继续”

0009-如何升级Cloudera Manager和CDH_第45张图片

9.点击“继续”

0009-如何升级Cloudera Manager和CDH_第46张图片

10.等待安装完成后,点击“继续”

0009-如何升级Cloudera Manager和CDH_第47张图片

11.检查主机完成后,点击“继续”

0009-如何升级Cloudera Manager和CDH_第48张图片

12.选择完整集群升级,点击“继续”

0009-如何升级Cloudera Manager和CDH_第49张图片

13.等待升级集群命令完成,点击“继续”

0009-如何升级Cloudera Manager和CDH_第50张图片

14.集群升级成功

0009-如何升级Cloudera Manager和CDH_第51张图片

15.最终化元数据升级

在最终化元数据之前,进行几天甚至几周的运行观察集群是否正常,在发现所有任务都没有任何异常情况后,再进行最终化元数据操作。一旦进行最终化元数据之后,就不能回滚到老的版本了,除非有数据备份。对NameNode的主备节点都执行最终化元数据升级操作:

0009-如何升级Cloudera Manager和CDH_第52张图片

0009-如何升级Cloudera Manager和CDH_第53张图片

3.2.3 功能验证

1.运行一个MapReduce作业

登录集群服务器,操作如下指令

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

0009-如何升级Cloudera Manager和CDH_第54张图片

0009-如何升级Cloudera Manager和CDH_第55张图片

0009-如何升级Cloudera Manager和CDH_第56张图片

2.用Hue测试

0009-如何升级Cloudera Manager和CDH_第57张图片

Hue正常登录,通过Hue操作HBase,向HBase中新建一个test表

0009-如何升级Cloudera Manager和CDH_第58张图片

向test表中添加一条数据

0009-如何升级Cloudera Manager和CDH_第59张图片

数据添加成功

0009-如何升级Cloudera Manager和CDH_第60张图片

通过hbase-shell查看该表是否存在

0009-如何升级Cloudera Manager和CDH_第61张图片

3.测试hive

beeline登录hive进行测试

0009-如何升级Cloudera Manager和CDH_第62张图片

Hue测试hive

0009-如何升级Cloudera Manager和CDH_第63张图片

能正常查询test表数据

0009-如何升级Cloudera Manager和CDH_第64张图片

4 CDH的Maintenance版本滚动升级

升级前置条件:

  1. 确保当前系统版本支持您要升级到的新版本CDH5和Cloudera Manager5
  2. 原Cloudera Manager和CDH的版本为5.10.0
  3. Cloudera Manager和CDH的目标升级版本为5.10.2
  4. 集群已开启NameNode高可用
  5. 集群已开启Resource Manager高可用

4.1 Cloudera Manager升级

4.1.1 升级前准备

4.1.1.1 Cloudera Manager 的yum源配置

1.下载Cloudera Manager的RPM安装包

sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/cloudera-manager-agent-5.10.2-1.cm5102.p0.9.el6.x86_64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/cloudera-manager-daemons-5.10.2-1.cm5102.p0.9.el6.x86_64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/cloudera-manager-server-5.10.2-1.cm5102.p0.9.el6.x86_64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/cloudera-manager-server-db-2-5.10.2-1.cm5102.p0.9.el6.x86_64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/enterprise-debuginfo-5.10.2-1.cm5102.p0.9.el6.x86_64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/jdk-6u31-linux-amd64.rpm
sudo wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.2/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

2.将下载的的7个RPM安装包,放在/var/www/html/cm5.10.2目录下

0009-如何升级Cloudera Manager和CDH_第65张图片

3.在该目录下执行如下命令

[ec2-user@ip-172-31-8-141 cm5.10.2]$ sudo createrepo .

0009-如何升级Cloudera Manager和CDH_第66张图片

4.通过浏览器测试是否能正常访问

0009-如何升级Cloudera Manager和CDH_第67张图片

5.修改/etc/yum.repos.d/cloudera-manager.repo配置

[ec2-user@ip-172-31-8-141 cm5.10.2]$ sudo vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 5.10.2
baseurl = http://ip-172-31-8-141.ap-southeast-1.compute.internal/cm5.10.2
gpgcheck = 0

6.测试Cloudera Manager的yum源是否配置好

[ec2-user@ip-172-31-8-141 cm5.10.2]$ sudo yum clean all
[ec2-user@ip-172-31-8-141 cm5.10.2]$ sudo yum repolist

0009-如何升级Cloudera Manager和CDH_第68张图片

4.1.1.2 备份Cloudera Manager数据库

1.停止Cloudera Management Service服务和Cloudera ManagerService服务

通过Cloudera Manager 控制台,停止ClouderaManagement Service服务

0009-如何升级Cloudera Manager和CDH_第69张图片

0009-如何升级Cloudera Manager和CDH_第70张图片

通过如下命令停止Cloudera Manager Server服务

[ec2-user@ip-172-31-8-141 ~]$ sudo service cloudera-scm-server stop

在这里插入图片描述

2.备份Cloudera Manager数据库,在命令行执行如下命令

  • Cloudera Manager Server
  • Activity Monitor
  • Reports Manager
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u cm -p --databases cm >cm.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u am -p --databases am >am.dump
[ec2-user@ip-172-31-8-141 cmdb_bak]$ mysqldump -u rm -p --databases rm >rm.dump

在这里插入图片描述

4.1.2 升级流程

1.确保Cloudera Management Service服务已停止

0009-如何升级Cloudera Manager和CDH_第71张图片

2.在所有安装Cloudera Manager Agent的主机上执行以下命令,停止Agent服务

[ec2-user@ip-172-31-8-141 cdh-shell-master]$ sudo service cloudera-scm-agent stop

0009-如何升级Cloudera Manager和CDH_第72张图片

3.向集群提交一个MR作业

在这里插入图片描述

0009-如何升级Cloudera Manager和CDH_第73张图片

4.运行以下命令进行Cloudera Manager Server升级

[ec2-user@ip-172-31-8-141 cm_bak]$ sudo yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

在这里插入图片描述

检查是否安装成功

[ec2-user@ip-172-31-8-141 cm_bak]$ rpm -qa |grep cloudera-

在这里插入图片描述

5.启动Cloudera Manager Server服务,命令如下

[ec2-user@ip-172-31-8-141 cdh-shell-master]$ sudo service cloudera-scm-server start

在这里插入图片描述

6.登录Cloudera Manager控制台,进入显示升级向导

0009-如何升级Cloudera Manager和CDH_第74张图片

7.选择升级Cloudera Manager Agent,点击“继续”

0009-如何升级Cloudera Manager和CDH_第75张图片

8.输入Cloudera Manager存储库URL,点击“继续”

0009-如何升级Cloudera Manager和CDH_第76张图片

9.勾选java选项,点击“继续”

0009-如何升级Cloudera Manager和CDH_第77张图片

10.输入SSH登录凭证,点击“继续”

0009-如何升级Cloudera Manager和CDH_第78张图片
11.等待Cloudera Manager Agent升级完成,点击“继续”

0009-如何升级Cloudera Manager和CDH_第79张图片

12.检查完成后,点击“继续”

0009-如何升级Cloudera Manager和CDH_第80张图片

13.完成升级,进入升级向导页面

0009-如何升级Cloudera Manager和CDH_第81张图片

14.根据需要进行修改,点击“继续”

0009-如何升级Cloudera Manager和CDH_第82张图片

15.重启Cloudera Management Service,点击“继续”

0009-如何升级Cloudera Manager和CDH_第83张图片

16.点击“完成”,进入Cloudera Manager控制台主页

0009-如何升级Cloudera Manager和CDH_第84张图片

升级成功,并且Hadoop的相关服务均正常。

17.升级完成MR作业任在运行

在这里插入图片描述

18.作业运行成功

0009-如何升级Cloudera Manager和CDH_第85张图片

19.统计结果

Type Date Time Input_data_size Duration(s) Throughput(bytes/s) Throughput/node
HadoopWordcount 2017/8/17 12:02:39 32849063607 991.502 33130607 33130607

4.1.3 功能验证

1.查看Cloudera Manager版本

0009-如何升级Cloudera Manager和CDH_第86张图片

版本已显示为5.10.2表明升级成功。

2.验证Agent是否向Cloudera Manager发送心跳

0009-如何升级Cloudera Manager和CDH_第87张图片

默认情况下,该心跳为15s一次;

3.检查所有主机

在这里插入图片描述

0009-如何升级Cloudera Manager和CDH_第88张图片

4.集群历史监控数据

0009-如何升级Cloudera Manager和CDH_第89张图片

历史监控数据正常,只有在升级Cloudera Manager Agent时段内无数据。

4.2 滚动升级CDH

4.2.1 升级前准备

4.2.1.1 准备CDH parcels包

1.选择cdh5.10.0版本下载对应的parcels

wget http://archive.cloudera.com/cdh5/parcels/5.10.2/CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.10.2/CDH-5.10.2-1.cdh5.10.2.p0.5-el6.parcel.sha1
wget http://archive.cloudera.com/cdh5/parcels/5.10.2/manifest.json

2.将下载下来的3个文件,放在/var/www/html/cdh5.10.2目录下

在这里插入图片描述

3.测试通过http是否能正常访问

0009-如何升级Cloudera Manager和CDH_第90张图片

配置完成后,供后面升级CDH使用

4.2.1.2 运行MR作业

1.在升级前环境前提交一个WordCount的MapReduce作业

0009-如何升级Cloudera Manager和CDH_第91张图片

2.查看作业运行情况

0009-如何升级Cloudera Manager和CDH_第92张图片

0009-如何升级Cloudera Manager和CDH_第93张图片

3.作业运行完成

0009-如何升级Cloudera Manager和CDH_第94张图片

0009-如何升级Cloudera Manager和CDH_第95张图片

0009-如何升级Cloudera Manager和CDH_第96张图片

4.统计结果

Type Date Time Input_data_size Duration(s) Throughput(bytes/s) Throughput/node
HadoopWordcount 2017/8/17 11:09:20 32849063607 984.096 33379938 33379938
4.2.1.3 配置CDH的存储库URL

根据标识进入CDH存储库URL配置界面

在这里插入图片描述

通过Cloudera Manager 控制台配置CDH的存储库URL

0009-如何升级Cloudera Manager和CDH_第97张图片

保存更改,点击“检查新parcels”

0009-如何升级Cloudera Manager和CDH_第98张图片

配置成功。

4.2.1.4 备份HDFS元数据

使用如下命令备份HDFS元数据信息

[ec2-user@ip-172-31-8-141 upgrade]$ sudo -u hdfs hadoop dfsadmin -fetchImage /home/ec2-user/upgrade/hdfs_metastore_bak

4.2.2 升级流程

1.通过Cloudera Manager控制台进入集群升级向导

0009-如何升级Cloudera Manager和CDH_第99张图片

0009-如何升级Cloudera Manager和CDH_第100张图片

2.选择CDH版本,点击“继续”

0009-如何升级Cloudera Manager和CDH_第101张图片

3.勾选后,点击“继续”

0009-如何升级Cloudera Manager和CDH_第102张图片

4.集群软件检查正常,点击“继续”

0009-如何升级Cloudera Manager和CDH_第103张图片

5.等待parcels安装成功,点击“继续”

0009-如何升级Cloudera Manager和CDH_第104张图片

6.主机检查通过,点击“继续”

0009-如何升级Cloudera Manager和CDH_第105张图片

7.选择滚动升级,根据需要设置参数,点击“继续”

0009-如何升级Cloudera Manager和CDH_第106张图片

8.滚动升级过程中,向集群提交MR作业

在这里插入图片描述

作业正常运行

0009-如何升级Cloudera Manager和CDH_第107张图片

9.等待滚动升级命令完成,点击“继续”

0009-如何升级Cloudera Manager和CDH_第108张图片

10.CDH升级完成

0009-如何升级Cloudera Manager和CDH_第109张图片

11.MR作业运行完成

0009-如何升级Cloudera Manager和CDH_第110张图片

在这里插入图片描述

12.统计结果

Type Date Time Input_data_size Duration(s) Throughput(bytes/s) Throughput/node
HadoopWordcount 2017/8/17 12:42:04 32849063607 1042.461 31511071 31511071

4.2.3 功能验证

1.进入Cloudera Manager控制台主页,查看集群是否正常

0009-如何升级Cloudera Manager和CDH_第111张图片

2.向集群提交一个MR作业

登录集群服务器,操作如下指令

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

作业正常运行

0009-如何升级Cloudera Manager和CDH_第112张图片

0009-如何升级Cloudera Manager和CDH_第113张图片

3.用Hue测试

0009-如何升级Cloudera Manager和CDH_第114张图片

Hue正常登录,通过Hue操作HBase,向test表中添加一条数据

0009-如何升级Cloudera Manager和CDH_第115张图片

数据添加成功

0009-如何升级Cloudera Manager和CDH_第116张图片

通过hbase-shell查看新增数据

0009-如何升级Cloudera Manager和CDH_第117张图片

4.测试Hive

beeline登录hive进行测试

0009-如何升级Cloudera Manager和CDH_第118张图片

向test表中插入一条数据

在这里插入图片描述

查看test表数据

0009-如何升级Cloudera Manager和CDH_第119张图片

Hue测试hive

能正常查询test表数据,查询结果与命令行一致

0009-如何升级Cloudera Manager和CDH_第120张图片

5.使用Hue测试Impala

0009-如何升级Cloudera Manager和CDH_第121张图片

查询test表

0009-如何升级Cloudera Manager和CDH_第122张图片

命令行查询

0009-如何升级Cloudera Manager和CDH_第123张图片

4.3 CDH升级过程中任务执行耗时对比

执行阶段 Type Date Time Input_data_size Duration(s) Throughput(bytes/s) Throughput/node
升级前 HadoopWordcount 2017/8/17 11:09:20 32849063607 984.096 33379938 33379938
升级CM中 HadoopWordcount 2017/8/17 12:02:39 32849063607 991.502 33130607 33130607
升级CDH中 HadoopWordcount 2017/8/17 12:42:04 32849063607 1042.461 31511071 31511071

在升级CM的过程中是不会影响作业资源使用;

在进行CDH滚动升级过程中由于重启服务导致计算资源损失,因此作业耗时有所增加。


为天地立心,为生民立命,为往圣继绝学,为万世开太平。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
0009-如何升级Cloudera Manager和CDH_第124张图片
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

你可能感兴趣的:(Hadoop实操)