http://www.cloudera.com/content/www/zh-CN/documentation/enterprise/5-3-x/topics/cm_ag_upgrade_cm5.html?scroll=cmig_topic_9_4
将 Cloudera Manager 5 升级到最新的 Cloudera Manager
所需角色:
此过程适用于升级 Cloudera Manager 5 的所有版本。
在大多数情况下,虽然您可能需要停止某些相关服务,但可完成以下升级而无需关闭大多数 CDH 服务。在升级 Cloudera Manager 时,CDH daemon 可以继续运行,而不受任何影响。升级过程不会影响您的 CDH 安装。在 Cloudera Manager 升级后,您可能还希望将 CDH 4 群集升级到 CDH 5。
将 Cloudera Manager 5 升级到 Cloudera Manager 的最新版本涉及以下步骤。
查看警告
- Cloudera Management Service SSL 配置
如果启用了 Cloudera Manager Admin Console 的 TLS 安全,自 Cloudera Manager 5.1 起,Cloudera Management Service 角色将尝试使用 TLS 与 Cloudera Manager 通信,并且在配置 SSL 属性后才会成功启动。
- Cloudera Navigator
如果启用了 Cloudera Navigator 的审计功能,在升级到 Cloudera Manager 5 的过程中,审计功能会挂起,且仅在重新启动审计服务的角色后才会重新启动。
- JDK 升级
如果选择在安装 Cloudera Manager Agent 期间升级 JDK,必须重新启动所有服务。
开始之前
- 获取主机凭据 - 如果希望 Cloudera Manager 升级 Agent 软件包,您必须具备 SSH 访问权限并能够使用 root 帐户或拥有无密码 sudo 权限的帐户登录。有关更多信息,请参阅Cloudera Manager 5 的要求和支持的版本。
- 准备数据库 - 请参阅Cloudera Manager 升级的数据库注意事项。
停止选定的服务和角色
条件 | 程序 |
---|---|
运行具有 Cloudera Management Service 的 Cloudera Manager 版本 | 停止 Cloudera Management Service。 |
运行嵌入式 PostgreSQL 数据库 | 停止 Hive 服务和所有使用 Hive Metastore 的服务,例如 Impala 和 Hue。 |
运行 Cloudera Navigator | 停止任何以下角色,其服务的队列策略配置 (navigator.batch.queue_policy) 已设置为 SHUTDOWN:
|
停止 Cloudera Manager Server、数据库和 Agent
- 使用 Admin Console 可检查任何正在运行的命令并停止所有命令。其中包括用户可能已运行的命令,也包括 Cloudera Manager 响应状态变化或依据计划中的某一条自动触发的命令。您可以等待命令完成或中止所有正在运行的命令。有关查看和中止正在运行的命令的更多信息,请参阅查看正在运行和最近的命令。如果不停止所有命令,Cloudera Manager Server 在升级后将无法启动。
- 在运行 Cloudera Manager Server 的主机中,停止 Cloudera Manager Server:
$ sudo service cloudera-scm-server stop
- 如果正在使用 Cloudera Manager 的嵌入式 PostgreSQL 数据库,请停止该数据库:
sudo service cloudera-scm-server-db stop
重要提示: 如果您没有正在运行嵌入式数据库服务并尝试停止该服务,您会收到一条消息,消息大意为找不到服务。但如果您收到的是关闭失败的消息,这意味着嵌入式数据库仍在运行,原因可能是服务连接到 Hive metastore。在停止所有依赖 Metastore 的服务且成功关闭数据库(请根据需要重新启动 Cloudera Manager Server 来关闭服务)之前,请勿继续安装。如果在未解决此问题的情况下继续,升级将失败,Cloudera Manager 安装不会正常运行。 - 如果 Cloudera Manager 主机也在运行 Cloudera Manager Agent,请停止 Cloudera Manager Agent:
$ sudo service cloudera-scm-agent stop
(可选)升级 Cloudera Manager Server 主机和 Agent 主机中的 JDK
如果您正在升级 Cloudera Manager Agent 软件包中手动升级 Cloudera Manager Agent 软件包,且计划升级到 CDH 5,请按照Java Development Kit 安装中的说明在 Agent 主机中安装 Oracle JDK。
如果您没有在 Cloudera Manager Agent 所在的主机中运行 Cloudera Manager Server,且希望所有主机都运行相同的 JDK 版本,您可以选择在该主机中安装 Oracle JDK。
升级 Cloudera Manager Server 软件包
- 要升级 Cloudera Manager Server 软件包,可以从位于 http://archive.cloudera.com/cm5/ 的 Cloudera 存储库升级,也可以创建自己的存储库,如了解自定义安装解决方案中所述。如果要升级的是无法访问互联网的群集,则您需要创建自己的存储库。
- 从 http://archive.cloudera.com/cm5/ 开始并导航到与您操作系统匹配的目录,以此找到您的分发包的 Cloudera repo 文件。
例如,对于 Red Hat 或 CentOS 6,您应导航到 http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/。在该目录中,找到包含有关存储库的基本 URL 和 GPG 密匙的信息的 repo 文件。cloudera-manager.repo 文件的形式可能如下所示:
[cloudera-manager] # Packages for Cloudera Manager, Version 5, on RedHat or CentOS 6 x86_64 name=Cloudera Manager baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5/ gpgkey = http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera gpgcheck = 1
对于 Ubuntu 或 Debian 系统,可通过导航到相应版本目录找到 repo 文件,例如,http://archive.cloudera.com/cm4/debian/wheezy/amd64/cm。 在这种情况下,repo 文件 cloudera.list 的形式可能如下所示:# Packages for Cloudera Manager, Version 5, on Debian 7.0 x86_64 deb http://archive.cloudera.com/cm5/debian/wheezy/amd64/cm wheezy-cm5 contrib deb-src http://archive.cloudera.com/cm5/debian/wheezy/amd64/cm wheezy-cm5 contrib
- 替换您的操作系统软件包管理软件的配置位置中的 repo 文件。
操作系统 命令 RHEL 将 cloudera-manager.repo 复制到 /etc/yum.repos.d/。 SLES 将 cloudera-manager.repo 复制到 /etc/zypp/repos.d/。 Ubuntu 或 Debian 将 cloudera.list 复制到 /etc/apt/sources.list.d/。 - 运行以下命令:
操作系统 命令 RHEL $ sudo yum clean all $ sudo yum upgrade 'cloudera-*'
注释:- yum clean all 清理 yum 的缓存目录,确保下载并安装最新版本的软件包。
- 如果您的系统不是最新,则需要升级所有基础系统组件才能使此 yum update 成功。yum 会指明这些组件。
SLES $ sudo zypper clean --all $ sudo zypper up -r http://archive.cloudera.com/cm5/sles/11/x86_64/cm/5/
从您自己的存储库下载:$ sudo zypper clean --all $ sudo zypper rr cm $ sudo zypper ar -t rpm-md http://myhost.example.com/path_to_cm_repo/cm $ sudo zypper up -r http://myhost.example.com/path_to_cm_repo
Ubuntu 或 Debian 使用以下命令可清除缓存的存储库信息并更新 Cloudera Manager 组件: $ sudo apt-get clean $ sudo apt-get update $ sudo apt-get dist-upgrade $ sudo apt-get install cloudera-manager-server cloudera-manager-agent cloudera-manager-daemons
随着此过程继续,系统可能会提示有关您的配置文件版本的信息:配置文件“/etc/cloudera-scm-agent/config.ini” ==> 在安装后已修改(由您或由脚本)。 ==> 软件包经销商交付了一个更新版本。 是否要更新软件包?您可以选择: Y 或 I:安装软件包维护人员的版本 N 或 O:保持当前安装的版本 D:显示版本差异 Z:启动 shell 检查现状 默认操作是保持当前版本。
您将收到一条 /etc/cloudera-scm-server/db.properties 的类似提示。 对这两条提示均回复 N。应仔细检查 config.ini文件并将文件合并在一起,以确保包含新条目。
- 从 http://archive.cloudera.com/cm5/ 开始并导航到与您操作系统匹配的目录,以此找到您的分发包的 Cloudera repo 文件。
操作系统 | 数据包 |
---|---|
基于 RPM 的分发包 |
$ rpm -qa 'cloudera-manager-*'
cloudera-manager-agent-5.3.0-0.cm5.p0.932.el6.x86_64
cloudera-manager-server-5.3.0-0.cm5.p0.932.el6.x86_64
cloudera-manager-daemons-5.3.0-0.cm5.p0.932.el6.x86_64
|
Ubuntu 或 Debian |
~# dpkg-query -l 'cloudera-manager-*'
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-======================-======================-============================================================
ii cloudera-manager-agent 5.3.0-0.cm5.p0.932~sq The Cloudera Manager Agent
ii cloudera-manager-daemo 5.3.0-0.cm5.p0.932~sq Provides daemons for monitoring Hadoop and related tools.
ii cloudera-manager-serve 5.3.0-0.cm5.p0.932~sq The Cloudera Manager Server
|
启动 Cloudera Manager Server
在 Cloudera Manager Server 主机(在其上安装 cloudera-manager-server 软件包的系统)上,执行以下操作:
- 如果正在使用 Cloudera Manager 的嵌入式 PostgreSQL 数据库,请启动该数据库:
$ sudo service cloudera-scm-server-db start
- 启动 Cloudera Manager Server:
$ sudo service cloudera-scm-server start
您应该会看到以下内容:Starting cloudera-scm-server: [ OK ]
升级 Cloudera Manager Agent 软件包
- 登录 Cloudera Manager Admin Console。
- 使用以下方法之一升级主机:
- Cloudera Manager 安装 Agent 软件
- 选择是,我希望现在升级 Cloudera Manager Agent 软件包,然后单击继续。
- 选择要安装的 Cloudera Manager Agent 版本。通常,该版本将是此 Cloudera Manager Server 的匹配版本。但是,如果您使用了 Cloudera Manager Server 的自定义存储库(即存储库是除 archive.cloudera.com 之外的存储库) ,请选择自定义存储库,并提供所需的信息。自定义存储库允许使用其他位置,但该位置必须包含匹配的 Agent 版本。
- 单击继续。此时将显示“JDK 安装选项”页面。
- 保持选中安装 Oracle Java 开发工具包 (JDK),以允许 Cloudera Manager 在每个群集主机中安装 JDK;如果您打算自己安装,请取消选中该选项。
- 如果您所在地区的当地法律允许部署强度不受限制的加密,并且您正在运行安全群集,请选中安装 Java 无限制强度加密政策文件复选框。
- 指定凭据并启动 Agent 安装:
- 选择根或为具备无密码 sudo 权限的帐户输入用户名。
- 选择一种身份验证方法:
- 如果您选择使用密码身份验证,请输入并确认密码。
- 如果您选择使用公钥身份验证,请提供密码和所需密钥文件的路径。
- 您可以选择指定备用 SSH 端口。默认值为 22。
- 您可以指定同时运行的主机安装的最大数量。默认值为 10。
- 单击继续。Cloudera Manager Agent 软件包即已安装。
- 单击继续。运行主机检查器检查托管主机的版本和配置是否正确。如果存在问题,可以进行更改,然后重新运行检查器。检查结果满意后,单击完成。
- 手动安装 Agent 软件
- 在除了 Cloudera Manager Server 主机之外的所有群集主机中,停止 Agent:
$ sudo service cloudera-scm-agent stop
- 在 Cloudera Admin Console 中,选择不,我希望现在跳过代理升级,然后单击继续。
- 按照升级 Cloudera Manager Server 软件包中所述复制相应的 repo 文件。
- 运行以下命令:
操作系统 命令 RHEL $ sudo yum clean all $ sudo yum upgrade 'cloudera-*'
注释:- yum clean all 清理 yum 的缓存目录,确保下载并安装最新版本的软件包。
- 如果您的系统不是最新,则需要升级所有基础系统组件才能使此 yum update 成功。yum 会指明这些组件。
SLES $ sudo zypper clean --all $ sudo zypper up -r http://archive.cloudera.com/cm5/sles/11/x86_64/cm/5/
从您自己的存储库下载:$ sudo zypper clean --all $ sudo zypper rr cm $ sudo zypper ar -t rpm-md http://myhost.example.com/path_to_cm_repo/cm $ sudo zypper up -r http://myhost.example.com/path_to_cm_repo
Ubuntu 或 Debian 使用以下命令可清除缓存的存储库信息并更新 Cloudera Manager 组件: $ sudo apt-get clean $ sudo apt-get update $ sudo apt-get dist-upgrade $ sudo apt-get install cloudera-manager-agent cloudera-manager-daemons
随着此过程继续,系统可能会提示有关您的配置文件版本的信息:配置文件“/etc/cloudera-scm-agent/config.ini” ==> 在安装后已修改(由您或由脚本)。 ==> 软件包经销商交付了一个更新版本。 是否要更新软件包?您可以选择: Y 或 I:安装软件包维护人员的版本 N 或 O:保持当前安装的版本 D:显示版本差异 Z:启动 shell 检查现状 默认操作是保持当前版本。
您将收到一条 /etc/cloudera-scm-server/db.properties 的类似提示。 对这两条提示均回复 N。应仔细检查config.ini 文件并将文件合并在一起,以确保包含新条目。
- 在所有群集主机中,启动 Agent:
$ sudo service cloudera-scm-agent start
- 在除了 Cloudera Manager Server 主机之外的所有群集主机中,停止 Agent:
- Cloudera Manager 安装 Agent 软件
- 单击继续。主机检查器将运行,以检查受管理的主机是否具有正确版本和配置。如果存在问题,您可以进行更改,然后重新运行检查器。
- 单击完成。如果 Cloudera Navigator 使用的是外部数据库,将显示“数据库设置”页面。
- 配置数据库设置:
- 当设置数据库时,为您创建的数据库输入数据库主机、数据库类型、数据库名称、用户名和密码。
- 单击测试连接以确认 Cloudera Manager 可以使用您提供的信息与数据库进行通信。如果在所有情况下测试均成功,单击继续;否则检查并更正您为数据库提供的信息,然后重试此测试。(对于某些服务器,如果您使用的嵌入式数据库,您将看到一条消息,提示将在安装过程的后续步骤中创建数据库。)此时将显示“审核更改”页面。
- 配置数据库设置:
- 审核要应用的配置更改。
- 单击完成。
所有服务(您在 停止选定的服务和角色 中停止的服务除外)应该正在运行。
验证升级是否成功
- 在 Cloudera Manager Admin Console 中,单击主机选项卡。
- 单击主机检查器。在大型群集上,主机检查器运行可能需要一段时间才能完成。您必须等待该进程完成,然后才能继续执行下一步操作。
- 单击显示检查器结果。系统将显示主机检查器进程的所有结果,包括当前安装的版本。如果结果中包括当前组件版本的列表,则安装已按预期完成。
(可选)配置 Cloudera Management Service 的 SSL
- 执行以下操作之一:
- 选择
- 在主页的“状态”选项卡上,在 Cloudera Management Service 表中,单击 Cloudera Management Service 链接。
- 单击配置选项卡。
- 展开
- 根据您的群集配置编辑以下 SSL 属性。
属性 说明 SSL 客户端 Truststore 文件位置 指向 HTTPS 通信中使用的客户端 truststore 文件的路径。此 truststore 的内容无需重新启动 Cloudera Management Service 角色即可修改。默认情况下,对其内容所做的更改将在 10 秒内应用。 SSL 客户端 Truststore 文件密码 客户端 truststore 文件密码。 - 单击保存更改以提交更改。
- 重新启动 Cloudera Management Service。
部署 JDK 升级
如果在安装 Cloudera Manager Agent 时已升级 JDK,请执行以下操作:
- 如果 Cloudera Manager Server 主机还在运行 Cloudera Manager Agent,请重新启动 Cloudera Manager Server:
$ sudo service cloudera-scm-server restart
如果 Cloudera Manager Server 未启动,请参阅 对安装和升级问题进行故障诊断。
- 重新启动所有服务:
- 从主页中,单击群集名称旁边的 ,然后选择重新启动。
- 在所显示的确认对话框中,单击重新启动。
启动选定的服务和角色
- 如果正在运行 Cloudera Navigator,请启动已审核服务的以下角色:
- HDFS - NameNode
- HBase - 主机和 RegionServers
- Hive - HiveServer2
- Hue - Beeswax Server
- 从主页中,单击您关闭的每个服务旁边的 ,然后选择启动。
- 在所显示的确认对话框中,单击启动。
- 从主页中,单击 Cloudera Management Service 旁边的 ,然后选择启动。
- 在所显示的确认对话框中,单击启动。
部署更新的客户端配置
- 从主页单击群集名称旁边的 ,然后选择部署客户端配置。
- 在显示的确认对话框中,单击部署客户端配置。
测试安装
当您完成到 Cloudera Manager 的升级时,您可以测试安装,以验证监控功能是否按预期运行;请按照 测试安装下的说明操作。
(可选)升级 CDH
Cloudera Manager 5 可以管理 CDH 4 和 CDH 5 二者,因此无需升级现有的 CDH 4 安装,但可能需要升级到最新版本。有关升级 CDH 的更多信息,请参阅使用 Cloudera Manager 升级 CDH 和托管服务。