0007-如何遷移Cloudera Manager節點

溫馨提示:要看高清無碼套圖,請使用手機打開並單擊圖片放大查看。

1.概述

本文檔講述如何將Cloudera Manager在Kerberos環境下遷移至新的CM節點。通過本文檔,您將學習到以下知識:

1.如何遷移Cloudera Manager節點

2.如何遷移MySQL元數據庫

3.如何遷移Kerberos MIT KDC

文檔主要分爲以下幾步:

1.準備Cloudera Manager新節點

2.MariaDB數據庫遷移(可選)

3.遷移Kerberos MIT KDC(可選)

4.將原CM節點數據遷移至新節點

5.遷移後集羣服務驗證

這篇文檔將着重介紹Cloudera Manager節點遷移,並基於以下假設:

1.CDH環境已搭建並正常運行

2.舊Cloudera Manager節點包含Cloudera Manager Server(即cloudera-scm-server)服務和Cloudera Management Service服務(Alert Publisher/Event Server/Host Monitor/Reports Manager/Service Monitor)

3.集羣已完成MIT Kerberos的配置,並正常使用

4.集羣Hadoop服務HBase/Hive/HDFS/Hue/Kafka/Oozie/Spark/Spark2/Yarn/Zookeeper正常運行

以下是本次測試環境,但不是本操作手冊的硬限制:

1.操作系統:Redhat7.2

2.CM版本:CM5.11.1

3.CDH版本:CDH5.11.1

4.採用ec2-user對集羣進行部署

2.準備Cloudera Manager新節點

2.1新CM主機前置條件

  1. 操作系統版本與集羣操作系統版本一致(Redhat7.2)
  2. 關閉防火牆
  3. 配置時鐘同步,根據當前集羣時鐘同步服務進行配置
  4. swap已設置爲10
  5. 關閉透明大頁面
  6. 關閉SElinux
  7. 配置/etc/hosts文件或者使用DNS服務
  8. 配置cm和os的yum源
  9. 創建mysql驅動的軟鏈接

2.2新主機信息

新主機IP地址:172.31.18.97

新Hostname:ip-172-31-18-97.ap-southeast-1.compute.internal

1.主機操作系統版本

0007-如何遷移Cloudera Manager節點

2.防火牆

0007-如何遷移Cloudera Manager節點

3.時鐘同步

0007-如何遷移Cloudera Manager節點

4.swap信息

0007-如何遷移Cloudera Manager節點

5.透明大頁面

0007-如何遷移Cloudera Manager節點

6.SElinux信息

0007-如何遷移Cloudera Manager節點

7.host信息

0007-如何遷移Cloudera Manager節點

8.Cloudera Manager和OS的yum 源

0007-如何遷移Cloudera Manager節點

9.在/usr/share/java目錄下創建mysql驅動包軟鏈

0007-如何遷移Cloudera Manager節點

2.3安裝Cloudera Manager服務

ec2-user@ip-172-31-18-97 log$ sudo yum  -y install cloudera-manager-server cloudera-manager-agent

0007-如何遷移Cloudera Manager節點

安裝完成Cloudera Manager後暫時不要啓動服務。

注意:新節點的Cloudera Manager版本必須與原Cloudera Manager版本一致;節點上不要安裝CDH的其它組件;

2.4安裝MariaDB數據庫

由於原CM節點安裝有MariaDB數據庫,所以在新的CM節點也安裝MariaDB數據庫進行數據遷移(如果不考慮數據庫遷移則可以不用安裝)

ec2-user@ip-172-31-18-97  log$ sudo yum -y install mariadb-server mariadb-devel 

0007-如何遷移Cloudera Manager節點

初始化MariaDB數據庫

 ec2-user @  ip-172-31-18-97 log# sudo systemctl enable mariadb
 ec2-user@ip-172-31-18-97  log$ sudo systemctl start mariadb
 ec2-user@ip-172-31-18-97  log$ sudo /usr/bin/mysql\_secure\_installation 

0007-如何遷移Cloudera Manager節點

3.MariaDB數據庫遷移

如果不做數據庫遷移可不跳過該章節

3.1備份原MariaDB數據

將需要遷移的mysql整庫導出(可根據需要導出需要的庫信息)

root@ip-172-31-25-3  ec2-user# mysqldump -u root -p -A >oldmysql.dump 

0007-如何遷移Cloudera Manager節點

3.2導入備份數據至新庫

1.將備份文件拷貝至新mysql服務上,進行數據導入

root@ip-172-31-18-97  ec2-user# mysql -u root -p < oldmysql.dump 

0007-如何遷移Cloudera Manager節點

注意:數據導入成功後,需要在mysql client執行命令:FLUSH PRIVILEGES;

4.遷移Kerberos MIT KDC

4.1備份原Kerberos數據庫

登錄到主KDC服務器上,使用kdb5_util命令備份Kerberos數據庫及配置文件

[ec2-user@ip-172-31-25-3 ~]$ sudo kdb5_util dump -verbose kerberosdb.dumpfile

HTTP/[email protected]

HTTP/[email protected]

….

zookeeper/[email protected]

[ec2-user@ip-172-31-25-3 ~]$
/etc/krb5.conf

/var/kerberos/krb5kdc/kdc.conf

/var/kerberos/krb5kdc/kadm5.acl

0007-如何遷移Cloudera Manager節點

4.2恢復備份數據至新庫

1.在新節點安裝Kerberos服務:

yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

將4.1備份的數據拷貝到新節點上,通過如下操作將數據還原到Kerberos數據庫

2.修改krb5.conf文件,將該文件覆蓋/etc目錄下的krb5.conf

0007-如何遷移Cloudera Manager節點

將上述標紅部分修改爲當前主機ip或者hostname

3.將kdc.conf和kadm5.acl文件拷貝至/var/kerberos/krb5kdc目錄下進行覆蓋

yum -y install krb5-server krb5-libs krb5-auth-dialog krb5-workstation

0007-如何遷移Cloudera Manager節點

4.恢復kerberos數據庫,在krb5kdc和kadmin服務停止的情況下進行如下操作

0007-如何遷移Cloudera Manager節點

注意:此處需要創建kerberos數據庫,然後在做數據導入否則krb5kdc和kadmin服務不能正常啓動;

啓動krb5kdc和kadmin服務

ec2-user@ip-172-31-18-97 kerberos\_bak$ sudo  systemctl restart krb5kdc

ec2-user@ip-172-31-18-97 kerberos\_bak$ sudo  systemctl stop krb5kdc

驗證Kerberos是否正常,使用導入的user_r進行測試

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

4.3更新集羣的krb5.conf配置

將KDC主服務器上的/etc/krb5.conf文件拷貝至集羣中所有的節點,並驗證Kerberos是否正常。

0007-如何遷移Cloudera Manager節點

5.將原CM節點數據遷移至新節點

5.1備份原CM節點數據

主要備份CM的監控數據和管理信息,數據目錄包括:

/var/lib/cloudera-host-monitor

/var/lib/cloudera-service-monitor

/var/lib/cloudera-scm-server

/var/lib/cloudera-scm-eventserver

/var/lib/cloudera-scm-headlamp

0007-如何遷移Cloudera Manager節點

注意:將備份命令壓縮傳輸,防止目錄的屬主和權限變化

5.2修改CM的數據庫配置信息

修改新CM的數據庫配置文件/etc/cloudera-scm-server/db.properties,配置文件內容

0007-如何遷移Cloudera Manager節點

根據自己的配置信息對標紅部分進行修改

0007-如何遷移Cloudera Manager節點

5.3CM備份數據導入新節點

將原CM上備份的數據拷貝到新CM節點上

0007-如何遷移Cloudera Manager節點

通過如下命令將備份數據還原至對應目錄

0007-如何遷移Cloudera Manager節點

5.4更新集羣所有節點的CM Server指向

修改集羣所有節點上/etc/cloudera-scm-agent/config.ini文件中server_host值爲新CM節點的hostname

0007-如何遷移Cloudera Manager節點

5.5將原CM節點的Cloudera Management Service角色遷移至新節點

啓動新CM節點的cloudera-scm-server和cloudera-scm-agent服務

ec2-user@ip-172-31-18-97 253back# sudo systemctl  start cloudera-scm-serve

ec2-user@ip-172-31-18-97 253back# sudo systemctl  start cloudera-scm-agent

注意:在新CM節點上啓動cloudera-scm-agent服務後,會將CM節點的信息添加到cm庫的HOSTS表中,查看新CM節點對應的HOSTS_ID

登錄mysql數據庫將,查看cm.HOSTS表中的Cloudera Manager的host信息

0007-如何遷移Cloudera Manager節點

未遷移前可以通過CM管理界面看到新CM節點是沒有任何角色

0007-如何遷移Cloudera Manager節點

通過如下命令,將舊CM的角色遷移至新CM節點上

update ROLES set HOST_ID=11 where NAME like 'mgmt%';

0007-如何遷移Cloudera Manager節點

執行操作後,原CM節點的角色被遷移至新CM節點

0007-如何遷移Cloudera Manager節點

通過CM管理界面將原CM節點從集羣刪除

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

將原CM節點刪除

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

由於集羣配置了Kerberos,則需要更新Kerberos的server,如果Kerberos未遷移則不需要考慮此步

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

如果集羣啓用Kerberos,則需要爲新CM節點生成keytab(如果未啓用集羣則跳過此步)

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

通過CM管理界面啓動Cloudera Management Service

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

由於做了數據庫遷移,所以需要修改hive/hue/oozie對應的數據庫配置(未做數據庫遷移可跳過此步)

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

進行以上修改後重啓集羣

6.遷移後集羣服務驗證

原CM的運行界面,歷史監控數據

0007-如何遷移Cloudera Manager節點

登錄CM管理平臺,查看集羣狀態正常

0007-如何遷移Cloudera Manager節點

遷移後可以查看正常查看集羣的歷史監控數據

0007-如何遷移Cloudera Manager節點

Hue訪問及操作正常

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

HDFS訪問及操作正常

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

HBase通過hue和shell正常操作

0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

7.常見問題分析

1.問題一

問題現象:

0007-如何遷移Cloudera Manager節點

問題原因:

由於cloudera-scm-agent服務於supervisord之間通信異常導致。

解決方法:

將告警節點上的supervisord進程殺死,然後重啓agent服務

0007-如何遷移Cloudera Manager節點

2.問題二

問題現象:

0007-如何遷移Cloudera Manager節點

問題原因:

由於在CM遷移時,未遷移/opt/cloudera/csd目錄導致。

解決方法:

將原CM節點上/opt/cloudera/csd目錄拷貝至新CM節點對應的目錄

0007-如何遷移Cloudera Manager節點

重啓cloudera-scm-server服務

[ec2-user@ip-172-31-18-97 253back]# sudo systemctl start cloudera-scm-server

3.問題三

問題現象:

Service Monitor啓動失敗,異常信息如下

0007-如何遷移Cloudera Manager節點

問題原因:

由於CM遷移時,/var/lib/cloudera-service-monitor目錄的文件缺失導致

解決方法:

將/var/lib/cloudera-service-monitor目錄的數據重新覆蓋

4.問題四

現象描述:

在集羣遷移完成後,集羣啓動後做了高可用服務的NameNode和ResourceManager服務均不能正常顯示主備節點,HDFS的彙總信息無法正常顯示

問題原因:

由於集羣配置了kerberos,新CM節點未生成keytab導致

解決方法:

將CM節點的所有服務停掉,然後生成該主機的keytab

0007-如何遷移Cloudera Manager節點

8.擴展

如何在不停止集羣服務的情況下進行Cloudera Manager遷移,需要滿足如下條件:

  1. 新CM節點的hostname與IP地址與舊CM節點一致;
  2. 如果需要遷移數據庫,則新數據庫的hostname與IP地址與原數據庫一致,且需要將原數據庫的數據導入到新庫中;
  3. 如果需要遷移Kerberos MIT KDC,則新MIT KDC所在節點與舊MIT KDC節點的hostname與IP地址一致,且需要將舊MIT KDC數據庫數據導入新MIT KDC數據庫中;

注意:如果只做第1步操作,則不需要重啓hadoop集羣相關服務,並且不會影響hadoop集羣現有作業;如果進行2、3步操作會對集羣作業造成短暫影響,但不需要重啓hadoop集羣相關服務;

醉酒鞭名馬,少年多浮誇! 嶺南浣溪沙,嘔吐酒肆下!摯友不肯放,數據玩的花!
溫馨提示:要看高清無碼套圖,請使用手機打開並單擊圖片放大查看。
0007-如何遷移Cloudera Manager節點

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章