CentOS7安裝CDH 第一章:CentOS7系統安裝html
CentOS7安裝CDH 第二章:CentOS7各個軟件安裝和啓動python
CentOS7安裝CDH 第三章:CDH中的問題和解決方法mysql
CentOS7安裝CDH 第四章:CDH的版本選擇和安裝方式web
CentOS7安裝CDH 第五章:CDH的安裝和部署-CDH5.7.0sql
CentOS7安裝CDH 第六章:CDH的管理-CDH5.12數據庫
CentOS7安裝CDH 第七章:CDH集羣Hadoop的HA配置windows
CentOS7安裝CDH 第八章:CDH中對服務和機器的添加與刪除操做瀏覽器
CentOS7安裝CDH 第九章:CDH中安裝Kafka運維
CentOS7安裝CDH 第十章:CDH中安裝Spark2oop
一、CM(cloudera manager)升級概述:
CM的安裝是使用rpm包的安裝,詳情請看上述CM的安裝,因此升級的時候也是rpm包的升級便可。
二、CDH升級概述:
CDH的安裝是使用離線的Parcel包安裝的,因此也使用Parcel來升級,須要先將Parcel包離線下載下來。
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中進行查看
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升級成功:
一、檢查Parcel中的本地url是否配置好:
二、在CDH的主界面的Cluster上點擊升級集羣按鈕:
三、選擇已配置好的離線Parcel的版本,並進行主機檢查(主機檢查可能會有大頁面和swap等警告,能夠參照上述CDH安裝章節處理或百度),而後勾選已執行上述的複選框,再點擊繼續按鈕:
四、會進行下載,分配和解壓等操做,等執行完點擊繼續按鈕:
五、選擇完整集羣重啓升級,但此操做會重啓集羣上全部服務:
六、會對集羣上的全部服務進行安裝和啓動:
七、升級成功:
八、在升級CDH以後有可能出現oozie的內部版本和共享庫版本不匹配,此時能夠在oozie服務上從新安裝共享版本,以下所示:
中止oozie服務:
安裝oozie共享庫:
從新啓動oozie: