CDH升级概览
将Cloudera Enterprise CDH升级到更高版本的CDH和CDP数据中心版。
在开始升级之前,请查看受支持的升级路径列表,以确保支持您正在计划的升级。并不是所有版本的Cloudera Manager,CDH或Cloudera Runtime之间都支持升级。请参阅支持的升级路径 。
升级包括两个主要步骤,即升级Cloudera Manager和升级集群。您不需要同时升级Cloudera Manager和集群,但是Cloudera Manager和集群的版本必须兼容。Cloudera Manager的主要 次要版本必须等于或高于CDH或Cloudera Runtime的主要 次要版本。
关于在线升级指南
此在线版本的Cloudera升级指南允许您创建该指南的自定义版本,其中仅包括升级所需的步骤。使用本指南页面顶部的表单,选择要升级的Cloudera Manager/CDH或Cloudera Runtime版本以及操作系统版本,数据库类型和其他有关升级的信息。做出这些选择之后,指南中的页面将仅包括升级所需的步骤。您输入的信息将保留在指南的每个页面上。
升级到CDP数据中心
从Cloudera Manager和CDH到CDP数据中心的升级包括以下高级步骤:
1) 查看有关支持的升级路径 的升级指南主题。
2) 收集有关您的部署的信息。请参阅升级 Cloudera Manager入门 和升级集群入门 。
3) 计划如何以及何时开始升级。
4) 将Cloudera Manager升级到版本7.1.1或更高版本。升级到Cloudera Manager 7.1.1或更高版本后,Cloudera Manager将管理将集群升级到更高版本。请参阅升级 Cloudera Manager 。
5) 对集群中部署的组件执行任何所需的升级前过渡步骤。请参阅CDP 数 据中心升级前步骤
6) 使用Cloudera Manager将CDH升级到Cloudera Runtime 7,或从Cloudera Runtime升级到Cloudera Runtime的更高版本。请参阅升级集群 。
7) 对集群中部署的组件执行任何所需的升级后过渡步骤。请参阅CDP 后升级转换 。
从Cloudera Manager5和CDH 5或CDH6升级到更高版本的Cloudera Manager
支持的升级:
• 任何CDH 5或6集群到更高版本的CDH
• Cloudera Manager 5或6到更高版本的Cloudera Manager。
从Cloudera Manager和CDH 5或6升级到更高版本的Cloudera Manager包括以下高级步骤:
1) 查看有关支持的升级路径 的升级指南主题。
2) 收集有关您的部署的信息。
3) 计划如何以及何时开始升级。
4) 升级Cloudera Manager。升级Cloudera Manager之后,Cloudera Manager将管理将您的集群升级到更高版本。
5) 对集群中部署的组件执行所有必要的过渡前步骤。
6) 使用Cloudera Manager升级CDH。
7) 对集群中部署的组件执行所有必要的过渡后步骤。
请查阅本指南中的主题以计划和执行升级。
评估升级的影响
规划足够的维护时段以执行升级。根据要升级的组件,集群中的主机数量以及硬件类型,最多可能需要一整天才能升级集群。在开始升级之前,您需要收集一些信息。Cloudera Manager和CDH升级过程中也详细介绍了这些步骤。
升级之前,请查阅Cloudera Manager和CDH的发行说明,以了解API更改,不推荐使用的功能,新功能以及不兼容的更改。
• CDP数据中心版
• Cloudera Manager 7.1.2 发行说明
• Cloudera Runtime 7.1.2 发行说明
• Cloudera企业版
• Cloudera Enterprise 6 发行指南
• Cloudera Enterprise 5.x 发行说明
还要检查以下页面,以确保您使用的是受支持的操作系统、JDK、数据库和其他组件:
• CDP数据中心版
• CDP 数据中心要求和支持的版本
• Cloudera企业版
• Cloudera Enterprise 6 发行指南
• Cloudera Enterprise 5.x 发行说明
重要
Cloudera建议您在升级生产集群之前在非生产集群上测试升级。
实验环境
1) CM5.16.2
2) CDH5.16.2
3) 集群启用Kerberos
4) 集群安装了Sentry和Navigator
5) 集群健康
本次演示如何从CDH5.16升级到CDP-DC7.1.1版本。
升级Cloudera Manager
本主题描述如何将Cloudera Manager从任何5.x或6.x版本升级到Cloudera Manager 5.x、6.x或7.1及更高版本的更高版本,包括主要版本,次要版本和维护版本。升级过程使用操作系统命令行软件包命令来升级Cloudera Manager,然后使用Cloudera Manager完成升级。
升级Cloudera Manager时,您使用基于RPM的软件包命令来升级Cloudera Manager服务器主机上的软件,然后Cloudera Manager管理其余托管主机上的Cloudera Manager Agent升级。Cloudera Manager还可以在托管主机上自动安装所需JDK的某些版本。对于CDH集群,在升级Cloudera Manager时也会升级Cloudera Navigator。
在所有版本的Cloudera Manager,CDH或Cloudera Runtime之间不支持升级。请参阅支持的升级路径
升级Cloudera Manager 5.x或6.x时,还将升级Cloudera Navigator。自Cloudera Runtime 7.0.3起,Cloudera Navigator已由Apache Atlas取代。如果您使用Cloudera Manager 7.0.3或更高版本来管理CDH集群,则这些集群可以继续使用Cloudera Navigator。
Cloudera Manager升级过程执行以下操作:
• 升级数据库Schema以反映当前版本。
• 升级Cloudera Manager Server和所有支持服务。
• 在所有主机上升级Cloudera Manager Agent。
• 重新部署客户端配置,以确保客户端服务具有最新配置。
• 升级Cloudera Navigator(要升级到Cloudera Manager 7.1,可以将Cloudera Navigator过渡到Apache Atlas)。
要升级Cloudera Manager,您需要执行以下任务:
1) 备份Cloudera Manager Server数据库,工作目录和其他几个实体。如果升级期间出现问题,这些备份可用于还原Cloudera Manager部署。
2) 使用命令行中的软件包命令(例如,在RHEL系统上使用yum命令)在Cloudera Manager主机上升级Cloudera Manager服务器软件 。Cloudera Manager可自动执行此过程的大部分操作,建议您升级和管理CDH集群。
3) 在所有集群主机上升级Cloudera Manager Agent软件。Cloudera Manager升级向导可以升级代理软件(和可选的JDK),或者您可以手动安装代理和JDK软件。在此过程中不会升级CDH软件。
如果要从Cloudera Manager 5.x升级到更高版本的Cloudera Manager 5.x,则还可以使用压缩包升级Cloudera Manager。
升级Cloudera Manager不会升级CDH / Cloudera Runtime集群。请参阅升级 集群 以获取升级过程。
升级Cloudera Manager入门
在升级Cloudera Manager之前,您需要收集一些信息并查看限制和发行说明。填写下面的“ 我的环境”表单以自定义您的Cloudera Manager升级过程。请参阅下面的“ 收集信息 ” 部分,以帮助您找到所需的信息。
https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cm_upgrade_before.html
注意:
1) CM6.3.3及CM7的所有版本都需要license才能进行升级,请在升级前确认license是否有效。如果没有License,则会导致升级失败。
2) 要从使用Cloudera Navigator的CDH 5集群升级到要将Navigator迁移到Apache Atlas的Cloudera Runtime 7.1.1(或更高版本)集群,升级之前,该集群必须启用Kerberos。
3) 对于从具有Sentry的CDH 5集群升级到要将Sentry权限转换为Cloudera Runtime 7.1.1(或更高版本)集群的Apache Ranger,升级之前,集群必须启用Kerberos。
填写好当前的环境信息及计划升级的CM版本,系统会自动生成一个在线的基于当前计划的升级步骤。
收集信息
1) 登录到Cloudera Manager Server主机。
2) 收集有关您的环境的以下信息,并填写上面的表格。您的浏览器会在本《升级指南》的所有页面上记住这些信息。
a) 当前版本的操作系统:
代码语言:javascript复制lsb_release -a
[root@ccycloud OneNodeCDHCluster]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:des
ktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.5.1810 (Core)
Release: 7.5.1810
Codename: Core
[root@ccycloud OneNodeCDHCluster]#
b) CM的数据库参数:
代码语言:javascript复制cat /etc/cloudera-scm-server/db.properties
[root@ccycloud OneNodeCDHCluster]# cat /etc/cloudera-scm-server/db.properties
# Auto-generated by scm_prepare_database.sh on Fri Jul 31 00:56:43 UTC 2020
#
# For information describing how to configure the Cloudera Manager Server
# to connect to databases, see the "Cloudera Manager Installation Guide."
#
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=localhost
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=cloudera
[root@ccycloud OneNodeCDHCluster]#
c) 登录到Cloudera Manager管理控制台并找到以下内容:
i. 集群中使用的Cloudera Manager版本。转到支持> 关于。
ii. 集群中部署的JDK版本。转到支持> 关于。
iii. 主机检查,查看对应的结果。
d) 查看集群的安全设置情况(CM主页->管理->安全):
e) 查看集群的license情况(CM主页->管理->许可证):
Cloudera Manager升级准备
• 您必须具有对Cloudera Manager服务器主机的SSH访问权限,并且能够使用root帐户或对所有主机具有无密码sudo权限的帐户登录。
• 升级到Cloudera Manager 7.1或更高版本时,请查看以下内容:
CDP 数据中心要求和支持的版本
• 在升级Cloudera Manager之前,您应该已经升级到支持的操作系统。请参阅升级操作系统 。
• 在所有主机上安装受支持 的Java开发工具包(JDK)版本 。
• 查看发行说明。
• 查看Cloudera 安全公告 。
• 升级到Cloudera Manager 7.1或更高版本时,集群需要停机。
Cloudera Navigator升级准备
Cloudera Navigator在Cloudera Manager升级过程中进行了升级。不需要其他步骤。但是,为确保有效地升级Navigator元数据并且升级后的版本性能良好,请确保检查Navigator Metadata Server是否配置了正确数量的Java堆。有关如何确定正确的堆大小以及在必要时更改堆大小的信息,请参阅估算 Cloudera Navigator 的最佳 Java 堆大小 。
备份Cloudera Manager
备份参考https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cm_upgrade_backup.html
停止Cloudera Manager Server和Cloudera Management服务
1) 停止Cloudera管理服务。
2) 登录到Cloudera Manager Server主机。
3) 停止Cloudera Manager Server。
代码语言:javascript复制sudo systemctl stop cloudera-scm-server
备份Cloudera Manager数据库
1) 备份Cloudera Manager服务器数据库 –运行以下命令。(下面显示的命令取决于您在此页面顶部的表单中选择的数据库。将占位符替换为从db.properties文件返回的实际值 ):
代码语言:javascript复制mysqldump --databases database_name --host=database_hostname --port=database_port -u user_name -p > $HOME/database_name-backup-`date %F`-CM5.16.sql
代码语言:javascript复制[root@ccycloud ~]# mysqldump --databases scm --host=ccycloud.grocery.root.hwx.site --port=3306 -u scm -p > $HOME/scm-
backup-`date %F`-CM5.16.sql
Enter password:
[root@ccycloud ~]# ls -lrt scm-backup-2020-08-02-CM5.16.sql
-rw-r--r-- 1 root root 36317517 Aug 2 03:42 scm-backup-2020-08-02-CM5.16.sql
[root@ccycloud ~]#
注意
• 如果db.properties文件不包含端口号,请从上面的命令中省略端口号参数。
有关备份数据库的更多信息,请参见备份数据库 。
2) 备份所有其他Cloudera Manager数据库 -使用上一步中收集 的数据库信息。您可能需要联系数据库管理员以获取密码。
运行以下命令来备份数据库。(下面显示的命令取决于您在此页面顶部的表单中选择的数据库。用实际值替换占位符。):
代码语言:javascript复制mysqldump --databases database_name --host=database_hostname --port=database_port -u database_username -p > $HOME/database_name-backup-`date %F`-CM5.16.sql
例如:
mysqldump --databases hue --host=ccycloud.grocery.root.hwx.site --port=3306 -u hue -p > $HOME/hue-backup-`date %F`-CM5.16.sql
mysqldump --databases sentry --host=ccycloud.grocery.root.hwx.site --port=3306 -u sentry -p > $HOME/sentry-backup-`date %F`-CM5.16.sql
mysqldump --databases oozie --host=ccycloud.grocery.root.hwx.site --port=3306 -u oozie -p > $HOME/oozie-backup-`date %F`-CM5.16.sql
mysqldump --databases metastore --host=ccycloud.grocery.root.hwx.site --port=3306 -u hive -p > $HOME/metastore-backup-`date %F`-CM5.16.sql
mysqldump --databases rman --host=ccycloud.grocery.root.hwx.site --port=3306 -u rman -p > $HOME/rman-backup-`date %F`-CM5.16.sql
mysqldump --databases nav --host=ccycloud.grocery.root.hwx.site --port=3306 -u nav -p > $HOME/nav-backup-`date %F`-CM5.16.sql
mysqldump --databases navms --host=ccycloud.grocery.root.hwx.site --port=3306 -u navms -p > $HOME/navms-backup-`date %F`-CM5.16.sql
备份Cloudera Manager Server
1) 登录到Cloudera Manager Server主机。
2) 创建一个根备份目录。
代码语言:javascript复制export CM_BACKUP_DIR="`date %F`-CM5.16"
echo $CM_BACKUP_DIR
mkdir -p $CM_BACKUP_DIR
3) 备份Cloudera Manager Server目录:
代码语言:javascript复制sudo -E tar -cf $CM_BACKUP_DIR/cloudera-scm-server.tar /etc/cloudera-scm-server /etc/default/cloudera-scm-server
4) 备份现有的存储库目录。
代码语言:javascript复制sudo -E tar -cf $CM_BACKUP_DIR/repository.tar /etc/yum.repos.d
升级Cloudera Manager
建立对软件的访问
Cloudera Manager需要访问包含更新的软件包的软件包存储库。您可以选择直接访问Cloudera公共存储库,也可以的本地软件包存储库 。
o 在Package Repository URL中,将整个URL替换为本地Package Repository的URL。用户名和密码都没有要求访问本地存储库。
o 点击应用。
• 使用Cloudera公共存储库
o 将您的USERNAME和 替换 PASSWORD为 Package Repository URL中的URL。
o 点击应用
4) 创建一个/etc/yum.repos.d/cloudera-manager.repo具有以下内容的文件 :
代码语言:javascript复制[cloudera-manager]
# Packages for Cloudera Manager
name=Cloudera Manager
baseurl=https://USERNAME:PASSWORD@archive.cloudera.com/p/cm7/7.1.1/redhat7/yum/
gpgkey=https://USERNAME:PASSWORD@archive.cloudera.com/p/cm7/7.1.1/redhat7/yum/RPM-GPG-KEY-cloudera
gpgcheck=1
这里使用在线安装的方式,直接使用官网的repo文件
代码语言:javascript复制wget https://archive.cloudera.com/cm7/7.1.1/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/
然后修改repo文件,增加对应的用户名和密码。刷新yum源。
代码语言:javascript复制yum clean all
yum repolist
5) Cloudera Manager升级可以引入新的程序包依赖性。您的组织可能有限制或需要获得新软件包安装的事先批准。您可以确定哪些软件包可以安装或升级:
代码语言:javascript复制yum deplist cloudera-manager-agent
安装Java(JDK)
所有主机上都需要受支持的JDK。参考https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_jdk8.html
升级Cloudera Manager Server
1) 登录到Cloudera Manager管理控制台。
2) 在CM中停止管理服务(CM主页-> Cloudera Management Service下拉菜单->stop)
注意:此时不停止Cloudera Management Service可能会导致管理角色崩溃,或者Cloudera Manager Server可能无法重新启动。
3) 在继续升级之前,请确保已禁用所有计划的复制或快照作业,并等待Cloudera Manager管理控制台中所有正在运行的命令完成。
注意:如果在停止Cloudera Manager Server时有复制作业、快照作业或其他命令正在运行,则升级后Cloudera Manager Server可能无法启动。
4) 如果您有任何要复制到云目标的Hive复制计划,请在继续升级之前删除这些复制集群。您可以在Cloudera Manager升级完成后重新创建这些复制计划。
5) 登录到Cloudera Manager Server主机。
6) 停止cloudera-scm-server的服务和cloudera-scm-agent
代码语言:javascript复制systemctl stop cloudera-scm-server
systemctl stop cloudera-scm-agent
7) 升级软件包
更新cloudera-manager-server软件及其依赖的软件,将其更新到目标版本7.1.1.
代码语言:javascript复制yum -y update cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent
注意:如果在运行这些命令时收到以下错误消息:[Errno 14] HTTP错误404-找不到,请确保cloudera-manager.repo文件中的URL 正确并且可以从Cloudera Manager服务器主机访问。
8) 如果您自定义 /etc/cloudera-scm-agent/config.ini文件,则您的自定义文件将使用扩展名.rpmsave 或重命名.dpkg-old。将所有自定义项合并到/etc/cloudera-scm-agent/config.ini程序包管理器安装的 文件中。
9) 验证您是否安装了正确的软件包。
代码语言:javascript复制rpm -qa 'cloudera-manager-*'
10) 启动Cloudera Manager Agent。
代码语言:javascript复制sudo systemctl start cloudera-scm-agent
如果代理启动时没有错误,则不会显示任何响应。
11) 启动Cloudera Manager Server。
代码语言:javascript复制sudo systemctl start cloudera-scm-server
如果Cloudera Manager Server正常启动,则不会显示任何响应。
可以查看/var/log/cloudera-scm-server/cloudera-scm-server.log,来看数据更新是否正常。
代码语言:javascript复制tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
12) 使用Web浏览器通过以下URL打开Cloudera Manager管理控制台:
代码语言:javascript复制http://cloudera_Manager_server_hostname:7180/cmf/upgrade
Cloudera Manager Agent可能需要几分钟才能启动,并且在服务器启动完成并显示“ 升级Cloudera Manager”页面之前,Cloudera Manager管理控制台不可用。继续执行下一页上的步骤以升级Cloudera Manager Agent。
如果启动服务器或代理时遇到问题,例如数据库权限问题,则可以使用日志文件来解决问题:
服务器日志:
代码语言:javascript复制tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
代理日志:
代码语言:javascript复制tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log
或者
代码语言:javascript复制tail -f /var/log/messages
升级Cloudera Manager Agent
1) 显示“ 升级Cloudera Manager”屏幕:
如果有多个Cloudera Manager Agent,则显示的页面如下:
2) 点击 Upgrade Cloudera Manager Agent Packages
Upgrade Cloudera Manager Agent Packages页面显示选择存储库步骤
3) 点击继续。
4) “ 选择JDK”屏幕显示集群中使用的JDK的可用选项。
5) 点击继续。
显示“ 输入登录凭据”页面。
6) 指定凭据并启动代理安装:
a) 选择帐户,root 用户,或选择另一个用户,然后输入具有无密码sudo权限的帐户的用户名 。
b) 选择身份验证方法:
• 如果选择所有主机接受相同的密码选项,请输入并确认密码。
• 如果选择“ 所有主机都接受相同的私钥”选项,请提供密码和所需密钥文件的路径。
c) 如有必要,请修改默认的SSH端口。
d) 指定一次可以运行的最大同时安装数。默认值和建议值为10。根据您的网络容量调整此参数。
7) 点击继续。
将安装Cloudera Manager Agent软件包以及JDK(如果已选择)。
8) 安装完成后,单击“ 完成”。
该升级了Cloudera Manager页面显示升级状态。如果您看到一条消息,列出了Cloudera Manager Agents尚未升级,请等待几分钟,以使代理程序发出心跳,然后单击Refresh 按钮。
9) 代理全部升级后,单击“运行主机检查器”以运行主机检查器。检查输出并更正所有警告。如果出现问题,可以进行更改,然后重新运行检查器。
10) 如果您对检查结果感到满意,请单击“ 启动Cloudera Management Service”。
11) 通过单击继续确认您要启动Cloudera Management Service 。
12) 在启动Cloudera Management Service之后,点击完成。
13) 点击Finish,完成Cloudera Management服务的启动。
14) 再进行一次Host Inspector.
您将看到一条消息,指示Cloudera Management Service已启动。Cloudera Manager的升级现已完成。
15) 单击主页链接以返回到主页。查看并修复所有关键配置问题。如果集群指示陈旧的配置,则可能需要重新启动。
16) 重新启动,更新配置。
要返回“ 升级Cloudera Manager” 页面,请转至主机> 所有主机> 查看升级状态。
执行升级后步骤
1) 启动Cloudera Management Service并在出现提示时调整任何配置。
2) 如果您的部署使用LDAP,则您可能会看到其运行状况测试处于“ 禁用”状态,您可以配置LDAP绑定专有名称和密码来启用运行状况测试。
在Cloudera Manager管理控制台中,转到 管理> 设置> 外部认证,然后设置以下参数:
• LDAP绑定专有名称以进行监视
• LDAP绑定密码以进行监视
3) 如果Cloudera Manager 升级后报告陈旧配置 ,则可能需要重新启动集群服务并重新部署客户端配置。如果任何托管集群包括Hive和YARN组件,则这是必需的。如果您还将升级CDH,则无需执行此步骤。
4) 如果使用的是Schema Registry,则需要配置数据库相关的配置属性。
5) 在 主页> 状态 选项卡上,单击集群名称旁边的
,选择重新启动并确认。
6) 在“ 主页” >“ 状态” 选项卡上,单击集群名称旁边的
,选择“ 部署客户端配置”并确认。
7) Cloudera Manager升级现已完成。如果Cloudera Manager不能正常工作,或者升级没有完成,请参阅《 Cloudera Manager 升级故障排除》 。
https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cm_ts.html
CDP数据中心升级前过渡步骤
在执行集群升级到CDP数据中心(集群版本Cloudera Runtime 7.1.1或更高版本)之前,必须完成以下过程。仅完成源集群中运行的服务的过程。
• 从 MapReduce 1 过渡到 MapReduce 2 由于CDP不支持Apache Hadoop MapReduce版本1,因此您必须在升级之前迁移到MapReduce版本2。了解MRv1和MRv2之间的区别,以及如何使用YARN过渡到MRv2。
• 从公平 调度程 序过渡到容量 调度 程序 在Cloudera Data Platform中,容量调度程序是默认的受支持的调度程序。如果您使用的是Fair Scheduler,则必须在升级过程中过渡到Capacity Scheduler,并且升级完成后,您需要手动对其进行微调。
• 在升级到 Cloudera 运行时之前过渡 Cloudera Search 配置
• 将 Sentry 服务转换为 Apache Ranger。
在Cloudera Runtime 7.1中,Sentry服务已被Apache Ranger取代。如果要将授权权限从Sentry转移到Ranger,则在将集群升级到CDP数据中心之前,需要执行几个过渡步骤。
• 将 Navigator 内容过渡到 Atlas 作为将CDH集群升级到CDP的一部分,您可以选择将许多Navigator元数据过渡到Atlas。
• 将 Hive 1-2 迁移到 Hive 3
• 检查 Apache HBase 如果要从CDH 5升级到CDP数据中心并安装了HBase服务,则可能需要执行几个升级前步骤。
• Replication Manager CDH 集群 升级要求 以下是成功完成升级过程的准则。
细节参考:https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/cdpdc-pre-upgrade.html
升级CDH集群
本主题描述在以下任何情况下如何升级CDH或Cloudera Runtime集群:
• 从任何5.x版本到更高版本的CDH。
• 从CDH 5.13或更高版本到Cloudera Runtime 7.1或更高版本。
• 从Cloudera Runtime到更高版本的Cloudera Runtime。
• 将CDH或Cloudera Runtime升级到维护版本。
升级集群时,您可以使用Cloudera Manager通过Cloudera Parcels或基于RPM的软件包命令在整个集群中升级集群软件。Cloudera Runtime和CDP数据中心升级不支持基于软件包的安装。在升级到CDP数据中心之前,必须将CDH集群转换为使用Parcel。
集群升级将更新Hadoop软件和其他组件。您可以使用Cloudera Manager升级集群以进行主要 、 次要和维护升级 。根据您使用的Cloudera Manager版本和要升级到的CDH或Cloudera Runtime版本,过程会有所不同。
在完成准备步骤之后,您可以使用Cloudera Manager升级向导来完成升级。如果您使用parcel(推荐),已启用HDFS 高可用性 并具有Cloudera Enterprise许可证,则可以执行滚动升级,该升级不需要在升级过程中使集群停止服务。
注意:升级到CDP数据中心版时,不支持滚动升级。
升级集群入门
在升级集群之前,您需要收集信息,查看限制和发行说明并在集群上进行一些检查。请参阅下面的“ 收集信息 ” 部分。填写下面的“ 我的环境”表单以自定义CDH升级过程。
您可以升级到的CDH或Cloudera Runtime 版本取决于 管理集群的 Cloudera Manager 版本 。在升级集群之前,您可能需要升级 Cloudera Manager 。使用Cloudera Manager 7.0.3时不支持升级。
https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cdh_upgrade_before.html
注意
• CDP数据中心版不支持Isilon。
• CDP数据中心版不支持Power CPU,但在将来的版本中将支持Power CPU
• 如果您的集群在虚拟专用集群(VPC)体系结构中使用计算集群,则必须在升级基础集群之前删除计算集群。您可以在升级后重新创建Compute集群
• 您不能从使用Oracle 19的集群升级(CDP7.1.2支持)。
• 要从使用Cloudera Navigator的CDH 5集群升级到要将Navigator迁移到Apache Atlas的Cloudera Runtime 7.1.1(或更高版本)集群,升级之前,该集群必须启用Kerberos。
对于从具有Sentry的CDH 5集群升级到要将Sentry特权转换为Apache Ranger的Cloudera Runtime 7.1.1(或更高版本)集群,升级之前,集群必须启用Kerberos。
如果要升级的集群将包括Atlas、Ranger或同时包括Atlas和Ranger,则升级向导将部署一个基础架构Solr服务,以通过Ranger Admin UI提供审核日志的搜索功能和/或存储和提供Atlas元数据。Cloudera建议您不要将此服务用于客户工作负载,以免干扰审核和时间表性能。
集群备份
本主题描述了在升级集群之前如何备份由Cloudera Manager管理的集群。这些过程不会备份集群中存储的数据。Cloudera建议您使用Cloudera Manager的备份和灾难恢复功能维护数据的常规备份。参考:https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cdh_upgrade_backup.html
升级集群
您可以升级到的CDH或Cloudera Runtime 版本取决于 管理集群的 Cloudera Manager 版本 。在升级集群之前,您可能需要升级 Cloudera Manager 。使用Cloudera Manager 7.0.3时不支持升级。
查看注意事项和警告
在升级集群之前,请注意以下事项:
重要
• 当前不支持在Cloudera Runtime 7.1.1集群上运行Apache Accumulo。如果您尝试升级到Cloudera Runtime 7.1.1,将要求您从集群中删除Accumulo服务。
• 仅CDK 4.1.0支持将CDK升级到Cloudera Runtime 7.1.1或更高版本。如果运行的是CDK的早期版本,则必须先升级到CDK 4.1.0,然后再升级到Cloudera Runtime 7.1.1。
• 将Apache HBase从CDH升级到Cloudera Runtime 7.1.1,会在Cloudera Manager中警告您hbase.dynamic.jars.dir不赞成使用动态Jars目录功能属性 。将Apache HBase与CDP数据中心上的HDFS存储一起使用时,可以忽略此警告。该 hbase.dynamic.jars.dir属性与使用云存储的云部署上的Apache HBase不兼容。
• 您用于执行升级的Cloudera Manager的次要版本必须等于或大于CDH次要版本。Cloudera建议您在升级集群之前先升级到Cloudera Manager的最新维护版本。请参阅支持的升级路径 。要升级Cloudera Manager,请参阅升级 Cloudera Manager 。
• 您不能从使用Oracle 19的集群升级(CDP-DC7.1.2支持)。
• 要从使用Cloudera Navigator的CDH 5集群升级到要将Navigator迁移到Apache Atlas的Cloudera Runtime 7.1.1(或更高版本)集群,升级之前,该集群必须启用Kerberos。
• 对于从具有Sentry的CDH 5集群升级到要将Sentry特权转换为Apache Ranger的Cloudera Runtime 7.1.1(或更高版本)集群,升级之前,集群必须启用Kerberos。
如果要升级的集群将包括Atlas,Ranger或同时包括Atlas和Ranger,则升级向导将部署一个基础架构Solr服务,以通过Ranger Admin UI提供审核日志的搜索功能和/或存储和提供Atlas元数据。Cloudera建议您不要将此服务用于客户工作负载,以免干扰审核和时间表性能。
备份Cloudera Manager
在升级集群之前,请备份Cloudera Manager。即使您只是在升级之前备份了Cloudera Manager,现在也应该备份升级的Cloudera Manager部署。请参阅备份 Cloudera Manager 。
进入维护模式
为避免在升级过程中出现不必要的警报,请在开始升级之前在集群上进入维护模式。
在CM主页->集群名右边的下拉菜单点击Enter Maintainance Mode:
完成升级前步骤以升级到CDP数据中心
从CDH 5.x升级到CDP数据中心7.1时,请确保完成以下步骤。
• Cloudera Search -请参阅在升级到 Cloudera 运行时之前过渡 Cloudera 搜索配置 。
• Flume – CDP数据中心不支持Flume。在升级到CDP数据中心之前,必须删除Flume服务。
• HBase –请参阅Apache HBase 。
• Hive –请参阅将Hive 1-2 迁移到 Hive 3
• Kafka在CDH 5.x中,Kafka作为单独的parcel交付,可以使用Cloudera Manager与CDH 5.x一起安装。在Runtime 7.0.3和更高版本中,Kafka是Cloudera Runtime发行版的一部分,并作为Cloudera Runtime软件包的一部分进行了部署。要成功升级Kafka,您需要设置协议版本以匹配代理和客户端之间当前正在使用的协议版本。
• Kudu升级Kudu时,建议首先关闭集群中的所有Kudu进程,然后升级所有服务器上的软件,然后重新启动集群中所有服务器上的Kudu进程。升级之前,请查看发行说明和要安装的Kudu版本的平台要求。
• MapReduce –请参见MapReduce 1 MapReduce 2 Navigator Atlas
• 复制计划 –请参见的 集群 从 过渡到 Scheduler 。
运行Hue文档清理
如果您的集群使用Hue,请执行以下步骤(维护版本不需要)。这些步骤清理了Hue使用的数据库表,并可以帮助您在升级后提高性能。参考:Run Hue Document Cleanup :https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_cdh_upgrade.html
检查Oracle数据库初始化
如果您的集群将Oracle用于任何数据库,则从CDH 5升级之前,请COMPATIBLE 使用以下SQL查询检查Oracle数据库中初始化参数的值:
代码语言:javascript复制SELECT name, value FROM v$parameter WHERE name = 'compatible'
默认值为12.2.0。如果参数的值不同,则可以将其设置为默认值,如《Oracle 数据库升级指南》中所示 。
注意:在将COMPATIBLE初始化参数重置为其默认值之前,请确保您考虑了此更改可能对系统造成的影响。
访问parcel
parcel包含CDP数据中心集群中使用的软件。如果Cloudera Manager可以访问公共Internet,则Cloudera Manager可以直接从Cloudera下载站点直接提供对最新版本的Cloudera Runtime 7 Parcel的访问。
如果Cloudera Manager无法访问Internet,则必须下载Parcel并设置本地Parcel存储库。请参阅Parcel 从 迁移到 使用自定义脚本迁移 数据 。
10) “ 其他任务”部分列出了其他任务或提醒,然后继续操作。选择选项以确认您了解后再继续。
11) “ 检查器检查”部分显示必须继续运行的服务器检查器。如果这些检查员报告错误,则必须先解决这些错误,然后再继续。
• 单击显示检查器结果按钮以查看检查的详细信息。
• 单击再次运行按钮以确认您已解决问题。
• 如果您确信错误不是很严重,请选择“ 跳过此步骤”。我了解风险。
“ 检查员检查”部分包括以下Inspector:
• Host Inspector
• Service Inspector
运行这些检查器并更正所有报告的错误,然后再继续。
12) “ 数据库备份”部分要求您验证是否已完成必要的备份。选择 是,我已经执行了这些步骤。
13) 点击继续。(在完成所有升级步骤并确认所有警告之前,“ 继续”按钮将保持灰色状态。)
14) 再次单击继续以关闭集群并开始升级。
将打开“升级集群命令”屏幕,并显示升级进度。
15) 完成升级步骤后,点击 继续。
将打开“ 汇总”页面,并显示完成升级所需的所有其他步骤。
16) 点击继续。
完成HDFS升级
要确定您是否可以完成升级,请运行重要的工作负载并确保它们成功。完成升级后,如果不使用备份,则无法回滚到HDFS的先前版本。验证您准备好完成升级可能需要很长时间。
确保您有足够的可用磁盘空间,请记住,在升级完成之前,以下行为将继续:
• 删除文件不会释放磁盘空间。
• 使用平衡器会导致所有移动的副本都被复制。
• 保留所有表示NameNodes元数据的磁盘上数据,这可能会使NameNode和JournalNode磁盘上所需的空间量增加一倍以上。
1) 进入HDFS服务。
2) 单击实例选项卡。
3) 单击NameNode实例的链接。
显示NameNode实例页面。
4) 选择“ 操作” >“ 完成元数据升级”,然后单击“ 完成元数据升级”进行确认。
完成升级后步骤以升级到CDP数据中心
完成升级到CDP数据中心后,一些组件需要其他步骤:
• Apache Hive请参见Hive 升级后任务 。
• Kafka
• Kudu请参阅Kudu 1.12 / CDP 7.1 的升级说明
• YARN
• ZooKeeper
• Solr –请参阅在升级集群后重新索引 Solr 集合 。
• Ranger-请参阅Sentry 到 Ranger 的 权限 。
• Impala –请参阅CDP 中 Apache Impala 的更改
退出维护模式
如果您在此升级过程中进入维护模式,请退出维护模式。
在 主页> 状态 选项卡上,单击集群名称旁边的
,然后选择 退出维护模式。
总结
1) CDH5升级到CDH6.3.3或者CDP时,必须要有license,否则会导致升级失败。
2) CDH5升级到CDP时,在升级过程中必须停止对外的服务。
3) 升级向导比较人性化。
4) 升级过程中涉及到一些迁移,这些迁移都在升级时通过小工具实现,简单易用。
参考文档
升级 CDH 和 CDP 数据中心 :https://docs.cloudera.com/cdp/latest/upgrade-cdh/topics/ug_overview.html
支持的升级路径:https://docs.cloudera.com/cdp/latest/upgrade/topics/cdpdc-upgrade-paths.html
快速入门:将CDH升级到CDP数据中心:https://docs.cloudera.com/cdp/latest/upgrade/topics/cdpdc-cdh-overview.html