1. 程式人生 > >0007-如何遷移Cloudera Manager節點

0007-如何遷移Cloudera Manager節點

role 沒有 lin 集群 ice tro 數據庫遷移 hosts -m

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

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.主機操作系統版本

技術分享圖片

2.防火墻

技術分享圖片

3.時鐘同步

技術分享圖片

4.swap信息

技術分享圖片

5.透明大頁面

技術分享圖片

6.SElinux信息

技術分享圖片

7.host信息

技術分享圖片

8.Cloudera Manager和OS的yum 源

技術分享圖片

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

技術分享圖片

2.3安裝Cloudera Manager服務

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

技術分享圖片

安裝完成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 

技術分享圖片

初始化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 

技術分享圖片

3.MariaDB數據庫遷移

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

3.1備份原MariaDB數據

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

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

技術分享圖片

3.2導入備份數據至新庫

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

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

技術分享圖片

註意:數據導入成功後,需要在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

技術分享圖片

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

技術分享圖片

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

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

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

技術分享圖片

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

技術分享圖片

註意:此處需要創建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進行測試

技術分享圖片

技術分享圖片

4.3更新集群的krb5.conf配置

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

技術分享圖片

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

技術分享圖片

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

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

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

技術分享圖片

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

技術分享圖片

5.3CM備份數據導入新節點

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

技術分享圖片

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

技術分享圖片

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

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

技術分享圖片

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信息

技術分享圖片

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

技術分享圖片

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

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

技術分享圖片

將原CM節點刪除

技術分享圖片

技術分享圖片

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

技術分享圖片

技術分享圖片

技術分享圖片

如果集群啟用Kerberos,則需要為新CM節點生成keytab(如果未啟用集群則跳過此步)

技術分享圖片

技術分享圖片

技術分享圖片

技術分享圖片

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

技術分享圖片

技術分享圖片

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

技術分享圖片

技術分享圖片

技術分享圖片

進行以上修改後重啟集群

6.遷移後集群服務驗證

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

技術分享圖片

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

技術分享圖片

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

技術分享圖片

Hue訪問及操作正常

技術分享圖片

技術分享圖片

HDFS訪問及操作正常

技術分享圖片

技術分享圖片

HBase通過hue和shell正常操作

技術分享圖片

技術分享圖片

7.常見問題分析

1.問題一

問題現象:

技術分享圖片

問題原因:

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

解決方法:

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

技術分享圖片

2.問題二

問題現象:

技術分享圖片

問題原因:

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

解決方法:

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

技術分享圖片

重啟cloudera-scm-server服務

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

3.問題三

問題現象:

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

技術分享圖片

問題原因:

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

解決方法:

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

4.問題四

現象描述:

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

問題原因:

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

解決方法:

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

技術分享圖片

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節點