官网参考:https://www.cloudera.com/documentation/enterprise/upgrade/topics/ug_overview.html

注意:下文中的ip需要改成自己的ip

1、升级注意点

升级包括两个主要步骤,升级Cloudera Manager和升级CDH,在升级之前需要注意:
CDH 5和Cloudera Manager 5要求和支持的版本 注意JDK版本和集群之间的无密码访问。

2、升级准备

离线指的是安装时离线,可以从其他地方下载好下面的这些东西。
下载软件包(比如从5.7升级到5.10,系统是CentOS6.5)
http://archive.cloudera.com/cdh5/parcels/ 下载需要的版本

CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel
CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1
manifest.json
重命名,把后缀sha1改为sha

可选1:http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.10.0/RPMS/x86_64/ 下载需要的版本

cloudera-manager-agent-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
cloudera-manager-server-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm

可选2:http://archive-primary.cloudera.com/cm5/repo-as-tarball/5.10.0/ 下载需要的版本

cm5.10.0-centos6.tar.gz

停止Cloudera Manager Server和Agent(所有主机)
在web界面停止集群和Cloudera Management Service

service cloudera-scm-agent stop
service cloudera-scm-server stop

备份CM的数据库。

配置本地yum源

安装http

yum install -y httpd(有则升级,无则安装)

开机启动

chkconfig httpd on
chkconfig --list | grep httpd

service httpd start

在/var/www/html下创建文件夹parcels

mkdir parcels

把下载的 CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel、CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha1、manifest.json放到parcels文件内,如果manifest.json已经有了,就把旧的改后缀。

可以先打开web界面,点【主机】-》【parcel】-》右上的【配置】,然后把http://192.168.204.203/parcels/放在【远程 Parcel 存储库 URL】中的第一位。(可以把其他的都删除,只保留这一个)(开始更新CDH后如果系统找不到parcels也会提示配置parcel路径)

下面的步骤,如果安装CDH集群时已经做过,本次升级这些步骤可以跳过
解压 cm5.10.0-centos7.tar.gz 到 /var/www/html

tar -zxf cm5.10.0-centos7.tar.gz -C /var/www/html/

在/var/www/html目录下创建和官网一样的目录路径,然后 mv

mkdir -p cm5/redhat/6/x86_64/
mv cm cm5/redhat/6/x86_64/

这里在/cm5/redhat/6/x86_64/cm/5.10.0/RPMS/x86_64/下面有agent,daemons,server。

配置cdh集群在安装时下载包的路径(主要修改路径)
提醒: 每个机器都要配置 cloudera-manager.repo 文件

vi /etc/yum.repos.d/cloudera-manager.repo

[cloudera-manager]
name = Cloudera Manager, Version 5.10.0
baseurl = http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/
gpgcheck = 0

打开url:ip/cm验证(比如192.168.204.203/cm5),能打开就成功了。

3、升级Cloudera Manager 守护进程

3.1选择了agent,daemons,server

如果下载的是agent,daemons,server三个rpm包,每个节点都创建文件夹mkdir /tmp/cloudera-manager-upgrade/cm,然后把这三个rpm包放到这个文件夹内(除主节点外,其他节点只需要agent和deamons即可),然后每个节点都执行rpm -Uvh /tmp/cloudera-manager-upgrade/cm/*.rpm

3.2选择了cm5.10.0-centos7.tar.gz

主节点:(主节点安装了yum源,否则同下)

cd /var/www/html/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64
yum install -y cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
yum install -y cloudera-manager-server-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm

对于其他节点:(带上安装了yum源的路径即可)

yum install -y http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64/cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm

另:我没有用这种方法,不知agent是不是也要安装上。在的CM升级的web界面上,应该也有配置【自定义存储库】的地方,就把本地yum源链接配置上http://192.168.204.203/cm5/redhat/6/x86_64/cm/5/

4、升级CM和CDH集群

启动

service cloudera-scm-server start
service cloudera-scm-agent start

稍等一会,打开web界面ip:7180(比如192.168.204.203:7180),按照提示完成升级CM的步骤。
进入主页,升级CDH集群,按照提示完成所有步骤。