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 和托管服務。