CentOS7安裝CDH 第十一章:離線升級CDH版本


相關文章鏈接

CentOS7安裝CDH 第一章:CentOS7系統安裝

CentOS7安裝CDH 第二章:CentOS7各個軟件安裝和啟動

CentOS7安裝CDH 第三章:CDH中的問題和解決方法

CentOS7安裝CDH 第四章:CDH的版本選擇和安裝方式

CentOS7安裝CDH 第五章:CDH的安裝和部署-CDH5.7.0

CentOS7安裝CDH 第六章:CDH的管理-CDH5.12

CentOS7安裝CDH 第七章:CDH集群Hadoop的HA配置

CentOS7安裝CDH 第八章:CDH中對服務和機器的添加與刪除操作

CentOS7安裝CDH 第九章:CDH中安裝Kafka

CentOS7安裝CDH 第十章:CDH中安裝Spark2

CentOS7安裝CDH 第十一章:離線升級CDH版本

CentOS7安裝CDH 第十二章:YARN的資源調優

CentOS7安裝CDH 第十三章:CDH資源池配置

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:

  


免責聲明!

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



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