相關文章鏈接
CentOS7安裝CDH 第二章:CentOS7各個軟件安裝和啟動
CentOS7安裝CDH 第四章:CDH的版本選擇和安裝方式
CentOS7安裝CDH 第五章:CDH的安裝和部署-CDH5.7.0
CentOS7安裝CDH 第六章:CDH的管理-CDH5.12
CentOS7安裝CDH 第七章:CDH集群Hadoop的HA配置
CentOS7安裝CDH 第八章:CDH中對服務和機器的添加與刪除操作
1. 升級概述
1、CM(cloudera manager)升級概述:
CM的安裝是使用rpm包的安裝,詳情請看上述CM的安裝,所以升級的時候也是rpm包的升級即可。
2、CDH升級概述:
CDH的安裝是使用離線的Parcel包安裝的,所以也使用Parcel來升級,需要先將Parcel包離線下載下來。
2. 升級中需要注意的地方
1.在生產環境中升級一定要注意記得備份數據庫和HDFS。
2.當對python進行升級時候會發現yum源不能使用,可以進行如下操作:
a) 當對python升級之后,是因為沒有一個模塊module,所以導致yum不能使用(即當前python里找不到yum源模塊),此時可以將python重新指向升級之前的文件,就可以使用了。
b) 具體操作如下:
修改如下位置:
執行清理yun源的操作就可以正常使用了:yum clean all
3.在升級過程中,有可能遇到文件沒有下載失敗(即在下載、分配那一個界面失敗)的情況,如下圖所示,此時可以采取如下操作(以升級CDH5.16為例):
a) 找到對應機器,執行如下命令,進入到相應的文件夾中,再查看該目錄下的所有文件(包括隱藏文件),可以看到一個.flood文件夾,這是下載和解壓所用的文件夾,根據具體情況對其中的CDH5.16的包進行刪除:
cd /opt/cloudera/parcels
ll -a
b) 執行如下命令,要保證磁盤空間充足,在對CDH5.16進行升級時,磁盤至少需要7G以上的空間,不然會失敗,有如下異常,以后根據CDH的版本更新,有可能需要的空間更多(這方面可以詢問運維):
異常:Src file /opt/cloudera/parcels/.flood/CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel/CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel does not exist
查看磁盤的命令:df -h
c) 可以查找flood進程,然后kill掉,重啟agent服務,去web界面安裝:
ps -ef | grep flood
kill -9 進程號(可以直接使用如下命令解決:kill -9 $(pgrep -f flood))
service cloudera-scm-agent restart
d) 查看日志方式:
cd /var/log/cloudera-scm-agent/
tail -f cloudera-scm-agent.log
也可以先清空日志(echo "" > xxx.log),然后運行服務,看報什么錯,
再直接使用sz命令,將日志發送到windows中進行查看
3. CM(cloudera manager)升級
1.下載cm的tar包和CDH的parcels包,並將這些包上傳到/var/www/html目錄下,此過程可以參考上述CDH離線安裝中的過程,完成之后能在瀏覽器上看到如下界面:
2.檢查 /etc/yum.repos.d/cloudera-manager.repo 中的yum源是否設置正確,如果其中最后是5,就不需要修改,因為在解壓的cm包中有軟連接,如下圖:
請注意:上述的yum源,是所有機器都要檢查,都要一致,保證其它機器能從cm機器上下載到CM的安裝包。
此時將parcels的地址配置到CDH的Parcel配置中,會出現如下錯誤:
這時需要先將CM升級之后,才能升級CDH,直接去升級CM就可以了。
3.關閉CDH集群中各個服務和CM服務
4.關閉集群中各個機器的server和agent服務和數據庫服務
# 停止服務命令
service cloudera-scm-agent stop
service cloudera-scm-server stop
service mysqld stop(由於本集群是使用mysql數據庫,所以關閉mysql)
# 數據庫備份命令,以下以cmf數據庫為例,其它數據庫也要備份
mysqldump -uroot -p123456 cmf > /tmp/cmf20171015.sql
mysql -uroot -p cmf < /tmp/cmf20171015.sql
5.升級cm機器的server+agent
[root@bigdata01 ~]# yum clean all
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
[root@bigdata01 ~]# yum upgrade 'cloudera-*'
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
6.升級集群其他機器的agent
[root@bigdata01 ~]# yum clean all
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
[root@bigdata01 ~]# yum upgrade 'cloudera-*'
[root@bigdata01 ~]# rpm -qa 'cloudera-manager-*'
7.啟動集群機器的 db,server,agent
service mysqld start
service cloudera-scm-agent start
service cloudera-scm-server start
8.登錄web的7180界面,進行CM服務的啟動操作:
登錄頁面之后發現如下頁面顯示,點擊運行Host Inspector進行主機檢查,檢查之后點擊顯示檢查結果,會發現有大頁面的提示,此時參照上述CDH安裝章節的大頁面解決方案,解決完大頁面。
解決大頁面之后發現如下界面,點擊啟動CM的服務:
啟動CM服務之后會進入升級向導界面,依次點擊下一步即可:
9.CM升級成功:
4. CDH集群升級
1、檢查Parcel中的本地url是否配置好:
2、在CDH的主界面的Cluster上點擊升級集群按鈕:
3、選擇已配置好的離線Parcel的版本,並進行主機檢查(主機檢查可能會有大頁面和swap等警告,可以參照上述CDH安裝章節處理或百度),然后勾選已執行上述的復選框,再點擊繼續按鈕:
4、會進行下載,分配和解壓等操作,等執行完點擊繼續按鈕:
5、選擇完整集群重啟升級,但此操作會重啟集群上所有服務:
6、會對集群上的所有服務進行安裝和啟動:
7、升級成功:
8、在升級CDH之后有可能出現oozie的內部版本和共享庫版本不匹配,此時可以在oozie服務上重新安裝共享版本,如下所示:
停止oozie服務:
安裝oozie共享庫:
重新啟動oozie: