Hadoop实操

0009-如何升级Cloudera Manager和CDH

2018-12-16  本文已影响7人  Hadoop实操

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。

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

在这里插入图片描述

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的大版本变化,涉及很多更新内容

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

Minor版本升级

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

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

Maintenance版本升级

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

2.2 Cloudera Manager升级概述

在这里插入图片描述

升级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升级概述

在这里插入图片描述

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

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

我们建议使用parcels来升级CDH,因为Cloudera Manager管理这些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 .
在这里插入图片描述

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

在这里插入图片描述

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服务

在这里插入图片描述

2.备份Cloudera 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 Server的数据库信息,通过配置文件/etc/cloudera-scm-server/db.properties获取

在这里插入图片描述

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

在这里插入图片描述

3.1.2 升级步骤

1.停止Cloudera Management Service服务

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

2.停止Cloudera Manager Server和agent

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

[ec2-user@ip-172-31-8-141 ~]$ sudo service cloudera-scm-agent stop
在这里插入图片描述

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

[ec2-user@ip-172-31-8-141 cdh-shell-master]$ sudo service cloudera-scm-server stop
在这里插入图片描述 在这里插入图片描述

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管理控制台,显示升级向导

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

集群服务任在正常运行

在这里插入图片描述

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

在这里插入图片描述 在这里插入图片描述

3.1.3 Cloudera Manager升级验证

1.查看Cloudera Manager版本

在这里插入图片描述

版本显示为升级后版本

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

在这里插入图片描述

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

3.检查所有主机

在这里插入图片描述 在这里插入图片描述

4.集群历史监控数据

在这里插入图片描述

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是否能正常访问

在这里插入图片描述

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

3.2.2 升级流程

1.停止集群服务

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

2.备份NameNode上的HDFS Metastore

在这里插入图片描述

在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/
在这里插入图片描述

3.备份数据库

[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
在这里插入图片描述

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

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

5.运行升级向导

在这里插入图片描述

6.进入升级向导界面

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

9.点击“继续”

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

14.集群升级成功

在这里插入图片描述

15.最终化元数据升级

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

在这里插入图片描述 在这里插入图片描述

3.2.3 功能验证

1.运行一个MapReduce作业

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

sudo -u hdfs hadoop jar /opt/cloudera/parcels/CDH/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar pi 10 100
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

2.用Hue测试

在这里插入图片描述

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

在这里插入图片描述

向test表中添加一条数据

在这里插入图片描述

数据添加成功

在这里插入图片描述

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

在这里插入图片描述

3.测试hive

beeline登录hive进行测试

在这里插入图片描述

Hue测试hive

在这里插入图片描述

能正常查询test表数据

在这里插入图片描述

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

在这里插入图片描述

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

[ec2-user@ip-172-31-8-141 cm5.10.2]$ sudo createrepo .
在这里插入图片描述

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

在这里插入图片描述

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
在这里插入图片描述
4.1.1.2 备份Cloudera Manager数据库

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

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

在这里插入图片描述 在这里插入图片描述

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

[ec2-user@ip-172-31-8-141 ~]$ sudo service cloudera-scm-server stop
在这里插入图片描述

2.备份Cloudera 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服务已停止

在这里插入图片描述

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

[ec2-user@ip-172-31-8-141 cdh-shell-master]$ sudo service cloudera-scm-agent stop
在这里插入图片描述

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

在这里插入图片描述 在这里插入图片描述

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控制台,进入显示升级向导

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

18.作业运行成功

在这里插入图片描述

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

在这里插入图片描述

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

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

在这里插入图片描述

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

3.检查所有主机

在这里插入图片描述 在这里插入图片描述

4.集群历史监控数据

在这里插入图片描述

历史监控数据正常,只有在升级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是否能正常访问

在这里插入图片描述

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

4.2.1.2 运行MR作业

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

在这里插入图片描述

2.查看作业运行情况

在这里插入图片描述 在这里插入图片描述

3.作业运行完成

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

配置成功。

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

在这里插入图片描述 在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

作业正常运行

在这里插入图片描述

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

在这里插入图片描述

10.CDH升级完成

在这里插入图片描述

11.MR作业运行完成

在这里插入图片描述 在这里插入图片描述

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

在这里插入图片描述

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

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

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

作业正常运行

在这里插入图片描述 在这里插入图片描述

3.用Hue测试

在这里插入图片描述

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

在这里插入图片描述

数据添加成功

在这里插入图片描述

通过hbase-shell查看新增数据

在这里插入图片描述

4.测试Hive

beeline登录hive进行测试

在这里插入图片描述

向test表中插入一条数据

在这里插入图片描述

查看test表数据

在这里插入图片描述

Hue测试hive

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

在这里插入图片描述

5.使用Hue测试Impala

在这里插入图片描述

查询test表

在这里插入图片描述

命令行查询

在这里插入图片描述

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干货,欢迎转发和分享。



原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

上一篇 下一篇

猜你喜欢

热点阅读