分享知识,分享快乐

0%

CDH 5.13升级到5.16

CDH 5.13升级到5.16

本篇章节主要介绍如何从CDH 5.13升级到5.16版本,此步骤也可以借鉴用来作其他CDH版本升级的指导。

首先,准备CDH 5.16的安装包,包括CM 5.16的rpm包,及CDH 5.16的parcel包。

1
2
3
4
5
6
7
8
//parcel包
-rw-r--r-- 1 root root 2132782197 Oct 14 16:01 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel
-rw-r--r-- 1 root root 41 Oct 14 16:01 CDH-5.16.2-1.cdh5.16.2.p0.8-el7.parcel.sha
//CM安装包
cloudera-manager-agent-5.16.2-1.cm5162.p0.7.el7.x86_64.rpm
cloudera-manager-server-5.16.2-1.cm5162.p0.7.el7.x86_64.rpm
cloudera-manager-daemons-5.16.2-1.cm5162.p0.7.el7.x86_64.rpm
cloudera-manager-server-db-2-5.16.2-1.cm5162.p0.7.el7.x86_64.rpm repodata

配置临时http服务及本地yum源
进入到cm rpm安装包所在的目录,执行命令

1
2
3
yum install -y createrepo
createrepo .
python -m SimpleHTTPServer 8900 &

,启动http服务监听,端口为8900
配置本地yum源,添加cm_local.repo文件到/etc/yum.repos.d/目录下,内容如下,

1
2
3
4
5
[cm_local] 
name=cm_local
baseurl=http://192.168.81.50:8900/
enabled=1
gpgcheck=0

将此文件复制到集群每个节点

停止所有节点的Hadoop服务及cm server及cm agent服务
从7180网页中停止Hadoop集群服务
使用以下命令停止cm server及agent服务

1
2
service cloudera-scm-server stop
service cloudera-scm-agent stop

升级Cloudera Manager服务
在CM server节点升级以下服务
cloudera-manager-server
cloudera-manager-daemons
cloudera-manager-agent
在CM agent节点升级以下服务
cloudera-manager-daemons
cloudera-manager-agent
执行命令如下

1
yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

注:如果CM后台元数据库使用独立的mysql,则不用考虑升级元数据。如果是使用自带的postgresql,则也需要升级,执行yum upgrade cloudera-manager-server-db-2

启动CM服务

1
2
service cloudera-scm-server start
service cloudera-scm-agent start

升级CDH
将5.16的parcel包复制到CM server所在的节点对应的parcel-repo目录下,并重启cm server

1
2
cp * /opt/cloudera/parcel-repo/ 
service cloudera-scm-server restart

停止老版本服务,激活并启动新版本parcel
通过7180网页,选择主机->Parcel,停止老版本服务,激活并启动新版本parcel

启动Hadoop服务
通过以上步骤,CM及Hadoop应用都升级好了,此时可以启动Hadoop服务。

注意: spark2要用 SPARK2-2.4.0.cloudera2-1.cdh5.13.3.p0.1041012-el7.parcel

1
2
3
4
5
6
7
8
9
10
11
12
13
14
scp -r  /etc/cloudera-scm-server/ /opt/cm_bak/cloudera-scm-server
scp -r /etc/cloudera-scm-agent/ /opt/cm_bak/cloudera-scm-agent

yum list |grep cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent

ansible cdh81 -m shell -a "src=/etc/yum.repos.d/cm_local.repo dest=/etc/yum.repos.d/cm_local.repo"

ansible newhost -m shell -a "src=/etc/krb5.conf dest=/etc/krb5.conf"

ansible cdh81 -m shell -a "service cloudera-scm-agent stop"

ansible cdh81 -m shell -a "yum list |grep cloudera"
ansible cdh81 -m shell -a "yum -y upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent "
ansible cdh81 -m shell -a "service cloudera-scm-agent start"