0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

时间:2022-12-11 21:59:19

1.Cloudera升级概述



CDP作为一个软件系统,安装成功后主要包含三部分:Cloudera Manager Server,Cloudera Manager Agent以及CDH Parcel,所以CDP的升级也主要是包含这三部分的升级。一般来说是先通过操作系统的Package升级Cloudera Manager,然后通过Parcel升级CDH即可以完成整个集群的升级。CDH和Cloudera Manager不用同时升级,但是需要保证Cloudera Manager和CDH版本的兼容,具体的版本兼容情况可以参考官网,一般来说高版本的Cloudera Manager可以管理低版本的CDH。


1.1.Cloudera Manager升级概述 

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

升级Cloudera Manager包括以下步骤:

1.在CM节点上升级Cloudera Manager Server,使用操作系统的命令,比如Redhat的yum upgrade。

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


1.2.CDH升级概述 

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

CDH升级包含Hadoop相关组件的升级,你可以使用Cloudera Manager来升级CDH,通过Parcel的方式来进行升级,因为Cloudera Manager管理这些Parcel自动下载,分发和激活。具体还可以分为以下两种方式:

  • 直接升级,需要重启整个集群才能完成升级,但是需要规划停机窗口,整个升级过程较短;
  • 滚动升级,如果主要服务如HDFS,YARN都启用了HA,也可以在不重启集群的情况下进行滚动升级。优点是不需要单独规划停机窗口,对集群上已有的应用不产生影响,缺点是整体升级时间较长。

2.Cloudera Manager升级



2.1.升级前准备


2.2.1 Cloudera Manager的yum源配置

1.准备要升级的版本的rpm包

​https://archive.cloudera.com/p/cm7/7.7.1/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-7.7.1-31068812.el7.x86_64.rpm​​​​https://archive.cloudera.com/p/cm7/7.7.1/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-7.7.1-31068812.el7.x86_64.rpm​​​​https://archive.cloudera.com/p/cm7/7.7.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-7.7.1-31068812.el7.x86_64.rpm​​​​https://archive.cloudera.com/p/cm7/7.7.1/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-7.7.1-31068812.el7.x86_64.rpm​​​​https://archive.cloudera.com/p/cm7/7.7.1/redhat7/yum/RPMS/x86_64/openjdk8-8.0+232_9-cloudera.x86_64.rpm​​​​https://archive.cloudera.com/p/cm7/7.7.1/allkeys.asc​


2. 将安装包放到/var/www/html/cm CM7.7.1-el7目录下

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

在该目录下执行命令createrepo .

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


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

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

4.配置cm.repo文件

​[root@cdh0001 yum.repos.d]# vim cm7.7.1.repo​​​​[cmrepo7.7.1]​​​​name = cm7.7.1_repo​​​​baseurl = http://cdh0001/cm7.7.1​​​​enable = true​​​​gpgcheck = false​

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


5.测试yum源是否正常

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8



2.1.2.备份相关元数据库

1.停止Cloudera Management Service,集群服务和Cloudera Manager Server,步骤略。


2.备份相关元数据库,如果是使用MySQL,即将相关的库全部dump保存到某个目录,需要备份的包含以下服务的数据库:

  • Cloudera Manager Server
  • Hue
  • Hive Metastore
  • Ranger
  • Reports Manager

过程略。


2.2.开始升级Cloudera Manager 

1.停止Cloudera Manager Server

​​systemctl stop cloudera-scm-server​​


2.停止CM Server所在主机上的Agent服务

​​systemctl stop cloudera-scm-agent​​


3.在CM Server所在主机备份以下目录

​​mkdir /tmp/cm_bak​​​​cp -rp /etc/cloudera-scm-server/ /tmp/cm_bak​​​​cp -rp /etc/cloudera-scm-agent/ /tmp/cm_bak​​


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

yum -y upgrade cloudera-manager-servercloudera-manager-daemons cloudera-manager-agent

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

验证是否升级成功

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


5.启动Cloudera Manager Server服务

​​systemctl start cloudera-scm-server​​


6.登录Cloudera Manager管理界面,显示升级向导

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

点击“升级Cloudera Manager Agent软件包”


7.升级Cloudera Manager Agent软件包,选择自定义存储库

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


8.选择JDK

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


9.输入SSH登陆凭证

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


10.升级Cloudera Manager Agent软件包

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


11.升级完成后,进行主机检查

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


12.启动Cloudera Management Service

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


13.回到主页,重启配置过期的服务

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

重启整个集群

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


2.3.Cloudera Manager升级验证 

1.查看Cloudera Manager版本,验证版本是否为升级后的版本(7.7.1)

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


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

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


3.查看历史监控数据

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

升级过程中有一些监控数据有丢失,可以看到前面的监控数据,正常。

3.CDH升级



3.1.CDH升级准备


3.1.1.准备CDH的Parcel

1.下载对应版本7.1.8的parcels

​​https://archive.cloudera.com/p/cdh7/7.1.8.0/parcels/CDH-7.1.8-1.cdh7.1.8.p0.30990532-el7.parcel​​​​https://archive.cloudera.com/p/cdh7/7.1.8.0/parcels/CDH-7.1.8-1.cdh7.1.8.p0.30990532-el7.parcel.sha1​​​​https://archive.cloudera.com/p/cdh7/7.1.8.0/parcels/CDH-7.1.8-1.cdh7.1.8.p0.30990532-el7.parcel.sha256​​​​https://archive.cloudera.com/p/cdh7/7.1.8.0/parcels/manifest.json​​


2.将下载下来的文件,放到/var/www/html/cdh7.1.8目录下

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


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

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

3.2.CDH升级流程 

1.停止集群服务

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


2.备份NameNode上的元数据

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

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

​​cd /dfs​​​​tar -zcvf /tmp/nn_bak/nn_bak.tar.gz nn/​​


3.备份数据库,参见2.1.2章节。


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

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


5.运行升级向导

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


6.进入CDH升级向导页面

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


7. 选择CDH升级的版本

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


8.点击“Download and Distribute Parcel”,下载并分发Parcel。

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


9.运行主机检查

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


10.运行服务检查

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

发现Hue需要Python3.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


安装Python3.8之前运行以下命令安装相关的包

​​yum install gcc openssl-devel bzip2-devel libffi-devel zlib-devel -y​​

下载Python3.8的包

​​cd /opt​​​​curl -O https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tg​

解压

​​tar -zxvf Python-3.8.12.tgz​

安装Python3.8

​​cd /opt/Python-3.8.12​​​​./configure --enable-shared​​

使用make命令编译文件

​​make​​​​make install​​

拷贝共享的编译库文件(libpython3.8.so)到/lib64/目录:

​​cp --no-clobber ./libpython3.8.so* /lib64/​​

修改libpython3.8.so文件的权限

​​chmod 755 /lib64/libpython3.8.so*​​

重新运行服务检查,发现已经检查通过。

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

为了Hue正常启动还需要安装mysqlclient

​​yum install -y xmlsec1  xmlsec1-openssl mysql-devel​​​​export PATH=/usr/local/bin:$PATH​​​​/usr/local/bin/python3.8 -m pip install --upgrade pip​​​​pip3.8 install mysqlclient​​


11.勾选“是,我已执行这些步骤。”,点击“继续”

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


12.停止集群。

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


13.开始升级集群。

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


14.集群升级成功

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8


15.最终化元数据升级

在进行最终化元数据升级之前,要观察几天甚至几周的时间,观察集群的运行是否正常,在发现所有的任务都没有任何异常后,再进行最终化元数据升级操作。一旦进行升级操作后,就无法再进行回滚,除非有数据备份。执行升级操作如下:

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

0892-7.1.7-如何将CDP从7.1.7升级到7.1.8

至此,集群升级到CDP7.1.8完成。