温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。


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管理的集群升级,请参考:​https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_ig_upgrade_command_line.html#xd_583c10bfdbd326ba--5a52cca-1476e7473cd--7f99​

你可以使用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。

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

如何升级Cloudera Manager和CDH_h5


2.1评估升级影响

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

升级之前,需要查阅Cloudera Manager的​https://www.cloudera.com/documentation/enterprise/release-notes/topics/rg_release_notes.html​了解API更改,不推荐的功能,新的功能以及不兼容的更改。同时需要检查​https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html​来确认支持的操作系统,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版本的升级不包括不兼容的更改或者数据格式的变化。客户端配置(​https://www.cloudera.com/documentation/enterprise/latest/topics/cm_mc_client_config.html#cmug_topic_5_9​)会被重置。

Maintenance版本升级

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


2.2Cloudera Manager升级概述

如何升级Cloudera Manager和CDH_hive_02

升级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升级,可以参考官网文档:​https://www.cloudera.com/documentation/enterprise/latest/topics/cm_upgrade.html#concept_q1q_mbs_wx​


2.3CDH升级概述

如何升级Cloudera Manager和CDH_hive_03

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更新命令来升级,注意所有主机都需要进行相同的操作。

从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自动安装和升级。


2.4Cloudera Navigator升级概述

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


2.5JDK升级

在升级Cloudera Manager和CDH之前,请确保集群内的所有主机都是使用受支持的Oracle JDK,参考:​https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html​。同时,所有主机必须使用相同版本的JDK:参考:​https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_cm_upgrading_to_jdk8.html#xd_583c10bfdbd326ba-590cb1d1-149e9ca9886--7c46​


3.Minor版本升级

升级前置条件:

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

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

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


3.1Cloudera 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目录下

如何升级Cloudera Manager和CDH_h5_04

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

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

如何升级Cloudera Manager和CDH_cloudera_05

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

如何升级Cloudera Manager和CDH_hive_06

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

如何升级Cloudera Manager和CDH_cloudera_07


3.1.1.2备份Cloudera Manager数据库

1.停止Cloudera Management Service服务

如何升级Cloudera Manager和CDH_cloudera_08

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

l   Cloudera Manager Server

l   Cloudera Navigator Audit Server

l   Cloudera Navigator Metadata Server

l   Activity Monitor

l   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

如何升级Cloudera Manager和CDH_cloudera_09

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

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

如何升级Cloudera Manager和CDH_h5_10

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

如何升级Cloudera Manager和CDH_cloudera_11


3.1.2升级步骤

1.停止Cloudera Management Service服务

如何升级Cloudera Manager和CDH_hive_12

如何升级Cloudera Manager和CDH_h5_13

如何升级Cloudera Manager和CDH_cloudera_14

2.停止Cloudera Manager Server和agent

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

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

如何升级Cloudera Manager和CDH_hive_15

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

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

如何升级Cloudera Manager和CDH_cloudera_16

如何升级Cloudera Manager和CDH_hive_17

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/

如何升级Cloudera Manager和CDH_hive_18

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

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

如何升级Cloudera Manager和CDH_h5_19

检查是否安装成功

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

如何升级Cloudera Manager和CDH_cloudera_20

5.启动Cloudera Manager Server服务

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

如何升级Cloudera Manager和CDH_cloudera_21

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

如何升级Cloudera Manager和CDH_hive_22

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

如何升级Cloudera Manager和CDH_cloudera_23

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

如何升级Cloudera Manager和CDH_hive_24

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

如何升级Cloudera Manager和CDH_h5_25

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

如何升级Cloudera Manager和CDH_cloudera_26

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

如何升级Cloudera Manager和CDH_hive_27

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


如何升级Cloudera Manager和CDH_cloudera_28

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


如何升级Cloudera Manager和CDH_cloudera_29

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

如何升级Cloudera Manager和CDH_h5_30

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


如何升级Cloudera Manager和CDH_hive_31

集群服务任在正常运行

如何升级Cloudera Manager和CDH_h5_32

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

如何升级Cloudera Manager和CDH_h5_33

如何升级Cloudera Manager和CDH_h5_34


3.1.3Cloudera Manager升级验证

1.查看Cloudera Manager版本

如何升级Cloudera Manager和CDH_hive_35

版本显示为升级后版本

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

如何升级Cloudera Manager和CDH_cloudera_36

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

3.检查所有主机

如何升级Cloudera Manager和CDH_h5_37

如何升级Cloudera Manager和CDH_h5_38

4.集群历史监控数据

如何升级Cloudera Manager和CDH_h5_39


3.2CDH升级

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目录下

如何升级Cloudera Manager和CDH_cloudera_40

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

如何升级Cloudera Manager和CDH_h5_41

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


3.2.2升级流程

1.停止集群服务

如何升级Cloudera Manager和CDH_cloudera_42

如何升级Cloudera Manager和CDH_hive_43

如何升级Cloudera Manager和CDH_h5_44

2.备份NameNode上的HDFS Metastore

如何升级Cloudera Manager和CDH_cloudera_45

在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/

如何升级Cloudera Manager和CDH_cloudera_46

3.备份数据库

l   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

如何升级Cloudera Manager和CDH_h5_47

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

如何升级Cloudera Manager和CDH_hive_48

如何升级Cloudera Manager和CDH_hive_49

如何升级Cloudera Manager和CDH_hive_50

5.运行升级向导

如何升级Cloudera Manager和CDH_h5_51

6.进入升级向导界面

如何升级Cloudera Manager和CDH_hive_52

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

如何升级Cloudera Manager和CDH_hive_53

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

如何升级Cloudera Manager和CDH_hive_54

9.点击“继续”

如何升级Cloudera Manager和CDH_h5_55

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

如何升级Cloudera Manager和CDH_hive_56

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

如何升级Cloudera Manager和CDH_hive_57

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

如何升级Cloudera Manager和CDH_cloudera_58

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

如何升级Cloudera Manager和CDH_hive_59

14.集群升级成功

如何升级Cloudera Manager和CDH_hive_60

15.最终化元数据升级

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

如何升级Cloudera Manager和CDH_hive_61

如何升级Cloudera Manager和CDH_hive_62


3.2.3功能验证

1.运行一个MapReduce作业

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

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

如何升级Cloudera Manager和CDH_cloudera_63

如何升级Cloudera Manager和CDH_hive_64

如何升级Cloudera Manager和CDH_hive_65

2.用Hue测试

如何升级Cloudera Manager和CDH_cloudera_66

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


如何升级Cloudera Manager和CDH_cloudera_67

向test表中添加一条数据


如何升级Cloudera Manager和CDH_hive_68

数据添加成功

如何升级Cloudera Manager和CDH_cloudera_69

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

如何升级Cloudera Manager和CDH_h5_70

3.测试hive

beeline登录hive进行测试

如何升级Cloudera Manager和CDH_hive_71

Hue测试hive

如何升级Cloudera Manager和CDH_hive_72

能正常查询test表数据

如何升级Cloudera Manager和CDH_h5_73


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.1Cloudera Manager升级

4.1.1升级前准备

4.1.1.1Cloudera 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目录下

如何升级Cloudera Manager和CDH_cloudera_74

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

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

如何升级Cloudera Manager和CDH_cloudera_75

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

如何升级Cloudera Manager和CDH_h5_76

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

如何升级Cloudera Manager和CDH_hive_77


4.1.1.2备份Cloudera Manager数据库

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

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

如何升级Cloudera Manager和CDH_h5_78

如何升级Cloudera Manager和CDH_cloudera_79

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

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

如何升级Cloudera Manager和CDH_hive_80

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


如何升级Cloudera Manager和CDH_hive_81


4.1.2升级流程

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

如何升级Cloudera Manager和CDH_hive_82

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

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

如何升级Cloudera Manager和CDH_hive_83

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

如何升级Cloudera Manager和CDH_h5_84

如何升级Cloudera Manager和CDH_hive_85

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

如何升级Cloudera Manager和CDH_hive_86

检查是否安装成功

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

如何升级Cloudera Manager和CDH_cloudera_87

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

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

如何升级Cloudera Manager和CDH_hive_88

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

如何升级Cloudera Manager和CDH_h5_89

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

如何升级Cloudera Manager和CDH_h5_90

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

如何升级Cloudera Manager和CDH_cloudera_91

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

如何升级Cloudera Manager和CDH_h5_92

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

如何升级Cloudera Manager和CDH_h5_93

11.等待Cloudera Manager Agent升级完成,点击“继续”

如何升级Cloudera Manager和CDH_cloudera_94

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

如何升级Cloudera Manager和CDH_h5_95

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

如何升级Cloudera Manager和CDH_cloudera_96

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

如何升级Cloudera Manager和CDH_cloudera_97

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

如何升级Cloudera Manager和CDH_h5_98

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

如何升级Cloudera Manager和CDH_hive_99

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

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

如何升级Cloudera Manager和CDH_cloudera_100

18.作业运行成功

如何升级Cloudera Manager和CDH_h5_101

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版本

如何升级Cloudera Manager和CDH_h5_102

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

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

如何升级Cloudera Manager和CDH_cloudera_103

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

3.检查所有主机

如何升级Cloudera Manager和CDH_h5_104

如何升级Cloudera Manager和CDH_cloudera_105

4.集群历史监控数据

如何升级Cloudera Manager和CDH_cloudera_106

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


4.2滚动升级CDH

4.2.1升级前准备

4.2.1.1准备CDHparcels包

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目录下

如何升级Cloudera Manager和CDH_h5_107

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

如何升级Cloudera Manager和CDH_cloudera_108

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


4.2.1.2运行MR作业

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

如何升级Cloudera Manager和CDH_hive_109

2.查看作业运行情况

如何升级Cloudera Manager和CDH_h5_110

如何升级Cloudera Manager和CDH_hive_111

3.作业运行完成

如何升级Cloudera Manager和CDH_hive_112

如何升级Cloudera Manager和CDH_cloudera_113

如何升级Cloudera Manager和CDH_cloudera_114

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_cloudera_115

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

如何升级Cloudera Manager和CDH_h5_116

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

如何升级Cloudera Manager和CDH_h5_117

配置成功。


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控制台进入集群升级向导

 

如何升级Cloudera Manager和CDH_hive_118

如何升级Cloudera Manager和CDH_hive_119

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

如何升级Cloudera Manager和CDH_hive_120

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

如何升级Cloudera Manager和CDH_h5_121

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

如何升级Cloudera Manager和CDH_cloudera_122

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

如何升级Cloudera Manager和CDH_h5_123

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

如何升级Cloudera Manager和CDH_hive_124

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

如何升级Cloudera Manager和CDH_cloudera_125

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

如何升级Cloudera Manager和CDH_hive_126

作业正常运行

如何升级Cloudera Manager和CDH_hive_127

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

如何升级Cloudera Manager和CDH_h5_128

10.CDH升级完成

如何升级Cloudera Manager和CDH_hive_129

11.MR作业运行完成

如何升级Cloudera Manager和CDH_h5_130

如何升级Cloudera Manager和CDH_h5_131

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控制台主页,查看集群是否正常

如何升级Cloudera Manager和CDH_hive_132

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

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

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

作业正常运行

如何升级Cloudera Manager和CDH_hive_133

如何升级Cloudera Manager和CDH_h5_134

3.用Hue测试

如何升级Cloudera Manager和CDH_hive_135

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

如何升级Cloudera Manager和CDH_cloudera_136

数据添加成功

如何升级Cloudera Manager和CDH_h5_137

通过hbase-shell查看新增数据

如何升级Cloudera Manager和CDH_cloudera_138

4.测试Hive

beeline登录hive进行测试

如何升级Cloudera Manager和CDH_hive_139

向test表中插入一条数据

如何升级Cloudera Manager和CDH_cloudera_140

查看test表数据

如何升级Cloudera Manager和CDH_h5_141

Hue测试hive

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

如何升级Cloudera Manager和CDH_hive_142

5.使用Hue测试Impala

如何升级Cloudera Manager和CDH_h5_143

查询test表

如何升级Cloudera Manager和CDH_hive_144

命令行查询

如何升级Cloudera Manager和CDH_h5_145


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

执行阶段

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滚动升级过程中由于重启服务导致计算资源损失,因此作业耗时有所增加;


醉酒鞭名马,少年多浮夸! 岭南浣溪沙,呕吐酒肆下!挚友不肯放,数据玩的花!

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。