CDH 6.3.0升級至6.3.2


記錄一次CDH從6.3.0版本升級到6.3.2版本過程,其中部分截圖遺失可能會影響直觀效果。

一、前期准備:

在進行 CDH minor 版本升級之前需先對 CM 進行升級,CM 對之前的版本向下兼容,比如 6.3.0不能管理 6.3.0 之上的版本卻能管理小於版本號 6.3.0以下的版本。

follow 官方文檔首先我們通過 reference 的第一個鏈接進入到對 cm 升級准備頁面。

然后通過相關命令查看目前主機以及 CM CDH 系統的情況,並將信息填入上面的 prepare my environment 中。下面的升級步驟都會 follow 這里選擇的東西不要填錯或者亂填

查看 Operating System

[root@alisa99 ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.4.1708 (Core)
Release: 7.4.1708
Codename: Core

查看目前 CM 使用的 metastore 情況 (這里CDH用的數據庫為postgresql型數據庫)

[root@alisa99 ~]# cat /etc/cloudera-scm-server/db.properties 
# Auto-generated by scm_prepare_database.sh on Tue Jun 23 10:54:43 CST 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=postgresql
com.cloudera.cmf.db.host=mpp99
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.setupType=EXTERNAL
com.cloudera.cmf.db.password=Passw0rd!

下面就是做一些備份數據的工作,通常意義上來說,如果我們進行 major 版本的升級,這一步的工序應該非常多非常復雜,但是進行 minor 或者 maintaince 級別的升級相對來說改動較少會稍微輕松一點,需要注意的地方沒有那么多。但是該做的備份我們還是給做上,確保可回滾。

二、 備份相關監控和 scm 數據庫組件:

備份 CMA(Cloudera Manager Agent)

備份文件夾

 
[root@alisa97 ~]# cp /etc/default/cloudera-scm-agent /etc/default/cloudera-scm-agent.bak
[root@alisa97 ~]# cp -r /var/run/cloudera-scm-agent/ /var/run/cloudera-scm-agent_bak
[root@alisa97 ~]# cp -r /var/lib/cloudera-scm-agent/ /var/lib/cloudera-scm-agent_bak
 

備份數據庫

[root@alisa99 ~]# pg_dump -p 5432 -U scm -c -f scm_bak.sql scm

備份 CMS(Cloudera Management Service) 信息

備份 Service monitor 信息

 

[root@alisa97 ~]# cp -rp /var/lib/cloudera-service-monitor/ /var/lib/cloudera-service-monitor_bak

 

備份 Host monitor 信息

 

[root@alisa97 ~]# cp -rp /var/lib/cloudera-host-monitor/ /var/lib/cloudera-host-monitor_bak
備份 Event Server 信息
[root@alisa97 ~]# cp -rp /var/lib/cloudera-scm-eventserver/ /var/lib/cloudera-scm-eventserver_bak
備份 cms 信息
[root@alisa97 ~]# cp -rp /etc/default/cloudera-scm-server /etc/default/cloudera-scm-server_bak

3. 開始升級過程:

注意所有的升級過程期間最好保證 cm 是正常退出的情況包括 scm 和 cm-agent 是停止的情況。並且要保障期間不會有任何快照之類的 job 還在執行,否則可能導致升級之后 cm 起不來。

停止服務

[root@alisa97 ~]# systemctl stop cloudera-scm-agent 
[root@alisa97 ~]# systemctl stop cloudera-scm-service
其他兩台機器停止agent端即可

我們需要將相關安裝包下載並上次服務器目錄下並傳到agent端,然后進行升級安裝。

[root@alisa97 /opt/softs/CDH6.3.2/CM]# ls
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
[root@alisa97 /opt/softs/CDH6.3.2/CM]# yum upgrade cloudera-manager-server cloudera-manager-daemons cloudera-manager-agent (server端)
[root@alisa97 /opt/softs/CDH6.3.2/CM]# yum upgrade cloudera-manager-daemons cloudera-manager-agent (agent端)

檢驗:

[root@alisa97 /opt/softs/CDH6.3.2/CM]# rpm -qa |grep cloudera
cloudera-manager-agent-6.3.1-1466458.el7.x86_64 cloudera-manager-server-6.3.1-1466458.el7.x86_64 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64

[root@alisa99 /var/lib]# rpm -qa |grep cloudera cloudera-manager-daemons-6.3.1-1466458.el7.x86_64 cloudera-manager-agent-6.3.1-1466458.el7.x86_64
完成升級啟動我們的 agent 服務和 scm 服務

來到此界面,如果沒能來到此界面可以參考日志進行一些排錯

tail -f  -n 900 /var/log/cloudera-scm-server/cloudera-scm-server.log
tail -f  -n 900 /var/log/cloudera-scm-agent/cloudera-scm-agent.log
tail -f  -n 900 /var/log/messages

到此我們當我們完成 CM 6.3.2的升級之后,我們已經相當於完成了80% minor 的升級。接下來我們對CM進行升級。

[root@alisa97 /opt/softs/CDH6.3.2]# ls
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel  CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1    manifest.json
[root@alisa97 /opt/softs/CDH6.3.2]# cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo
[root@alisa97 /opt/softs/CDH6.3.2]# cp CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1 /opt/cloudera/parcel-repo
這里需要注意的是復制6.3.2的CM包到 /opt/cloudera/parcel-repo 下后需要將之前的6.3.0的包相應刪除或者移出此目錄。

之后我們有兩種辦法觸發集群升級。

1. 直接在該界面點擊分發 distribute。

2. 去 home 頁面 下拉菜單中點擊「升級集群 upgrade cluster」按鈕。

 

建議使用第二種,不管使用那種最終都會走到同樣的地方。

然后一路 follow 選項和配置,關注自己關注的事項。

 

 然后一路順利的話我們的升級工作已經完成。我們可在web界面檢驗

 

 

 這里面的黃色是我后來接的圖,並不影響CDH的運行。

另外升級完成之后需要注意,官方提供的步驟8 最終化 hdfs 元數據。

這一步執行之后在沒有之前 hdfs 備份的情況下無法對 hdfs 進行回滾了。

我們可以在執行這一步之前,一直運行一段時間來確保我們整個升級沒有任何問題,比如運行個一周啥的。

最后我們 在 activate  namenode 節點進行最終元數據升級來完成整個升級流程。

至此我們的CDH從 6.3.0 升級到 6.3.2 已經完成。

若升級完成后hdfs相關命令無法使用,則參考以下鏈接:

 https://www.cnblogs.com/alisapine/p/13291973.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM