CDH集群主節點宕機恢復

2022-05-23 09:33:11 字數 2812 閱讀 3256

公司的開發集群在週末莫名其妙的主節點hadoop-1的啟動固態盤掛了,由於cm、hdfs的namenode、hbase的master都安裝在hadoop-1,導致了整個集群都無法使用,好在資料不在啟動盤。

hadoop-1的系統必須重灌,但是不能重灌集群,因為要將之前的資料全部保留恢復,所以只能通過集群恢復的手段將集群重新跑起來。

主要服務角色安裝情況:

hadoop-1:

cm,hdfs( nn,dn ),hbase(hmaster, regionserver),yarn(nm),zookeeper

hadoop-2:

hdfs( snn,dn ),hbase(hmaster, regionserver),yarn(rm,nm),zookeeper

hadoop-3,hadoop-4:

hdfs( dn ),hbase(regionserver),yarn(nm),zookeeper

hadoop-1系統重灌後cm必須得重灌,那麼怎麼將其餘好的節點重新加入到新的cm。

新建的namenode怎麼重新使用原來的namenode的資料,怎麼重新管理其餘結點的datanode。

最小化安裝centos 64位系統,

準備好基礎環境,恢復到和原來的hadoop-1一樣。

注意要點:

重新配置hosts

重新配置ssh的無金鑰登入。

重新配置時鐘服務

重新配置centos,及cm、cdh的網路映象源

掛載資料盤到原來的位置

在hadoop-1中利用cm的引導檔案cloudera-manager-installer.bin重灌cm服務,剩下的就是介面操作。前面的步驟和搭建新集群一樣,以下為截圖:

在到這個介面之前的步驟和安裝全新集群基本一樣的,因此之前的步驟參照集群搭建文件即可,重點就是這個圖,這個地方是選擇服務角色的安裝主機,一定要和之前的集群保持一致

上面這張圖是更改後的,根據原來的集群,namenode在test-hadoop-1上,而snn在test-hadoop-2上面,每個節點都存在datanode,至於hbase的配置還是理論上說可以隨意(因為它的資料是在hdfs和zookeeper上只要它倆對了,hbase的資料自然就恢復了。),但是還是建議和原來的保持一致。

zookeeper要保持和原來一致。

yarn主要用於計算,其實也可以是隨意的,但是它有nm,所以還是建議保持和原來一致

cm,spark可以配置是可以隨意的,因為這兩個東西跟我們的資料沒太大關係。

接著往下走,

要是安裝了要是原來的集群的自定義資料庫不再主節點上,則直接在這裡指過去使用原來的資料庫,否則直接聯本地的。

接著往下走,

這一步是重中之重,一定要注意將資料目錄指定到原來的集群的資料目錄,保持高度一致,對應修改完就可以啟動了。

啟動後hdfs報錯,因為namenode會去嘗試format,但是已經有資料了,所以format失敗,那麼基本上意味著我們資料恢復成功80%了,我們進入cm的控制介面,重啟所服務,要是不出意外,集群修復就完成了。

若啟動時報zookeeper啟動異常,

完整日誌如下:

這個錯是個很奇怪的錯,只發生在新建的主節點上,是因為掛載原來的資料盤時,原來的目錄及檔案的使用者及使用者組發生了變化,如下:

新建的主節點test-hadoop-1:

原來的資料結點test-hadoop-2:

可以看到在新建的主節點test-hadoop-1中zookeeper的使用者和使用者組都成了solr,我們只需要將其修改過來就好了。

再次啟動zookeeper若報如下錯誤:

則在對應的節點重啟cm的agent

再次啟動zookeeper:

其他的許可權錯誤,就不再說了,對照著改就好了。

通過這次集群恢復,有以下幾點收穫,

cm搭建的hadoop集群中服務和資料是分離的,就算是搭建乙個全新的集群,只要將資料目錄指定到原來的目錄,就可以使用原來的資料。(按理說所有hadoop集群都是這樣。)

要大膽嘗試。因為之前想到集群的主節點都掛了,無法避免重新搭建,資料只能全清空,迫於資料的重要性,在測試集群試驗了把新搭集群但是資料目錄還是原來的,發現hdfs,hbase,kafka,zookeeper的資料都還是原來的,並沒有置空。

CDH節點宕機恢復記錄

由於意外,集群中的乙個節點系統壞了,重灌系統後,把該節點新增集群中,恢復hdfs資料。思路 主要問題是把hdfs的資料恢復,由於hdfs的機制very good,只要把節點從集群中刪掉,再新增進集群中,配置hdfs對應目錄就好。背景 安裝的cdh6.2,使用cm介面進行管理 流程 1.從集群中刪除節...

CDH大資料節點宕機測試

集群元件說明 目前集群中安裝了若干大資料相關元件,包括hdfs hbase hive等儲存相關元件與flume spark kafka等資料採集與處理相關元件。集群主機說明 目前集群中有5臺主機,為同一臺宿主機上的5臺虛擬機器。為確保hdfs副本正常分布,故主機cdh1 cdh2 cdh3的機架設定...

redis集群主從節點自動切換

最近在將redis作為資料庫使用 redis中存放大量資料 的專案中,偶然發現redis的主從節點發生了變化,但是沒有任務報錯,redis集群的各節點也沒有fail狀態,因此記錄學習一下,redis的深層機制。首先redis是單執行緒的,所有的命令傳送的redis會進入乙個佇列,依次執行。當資料量很...