1. 程式人生 > >存在單點故障的namenode宕機恢復測試

存在單點故障的namenode宕機恢復測試

前提:如果namenode沒有做HA,那麼至少應該啟用secondarynamenode,以便namenode宕機之後手動恢復資料

實驗環境:3個節點(cenos 6.10)

測試前資料:

 

 1.為了確保資料儘可能恢復,手動checkpoint一下

[[email protected] dfs]# hdfs secondarynamenode -checkpoint force
/************************************************************
STARTUP_MSG: Starting SecondaryNameNode
STARTUP_MSG:   host = hadoop1/192.168.110.11
STARTUP_MSG:   args = [-checkpoint, force]
STARTUP_MSG:   version = 2.7.3
。。。。。。
。。。。。。
18/11/14 16:15:12 WARN namenode.SecondaryNameNode: Checkpoint done. New Image Size: 57464
18/11/14 16:15:12 INFO util.ExitUtil: Exiting with status 0
18/11/14 16:15:12 INFO namenode.SecondaryNameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down SecondaryNameNode at hadoop1/192.168.110.11
***********************************************************
*/

2.從1的輸出可以看到,checkpoint成功。現在kill掉namenode,刪除namenode的元資料資料夾。

3.停止所有節點,格式化namenode

4.用/tmp/hadoop-root/dfs/namesecondary/current/VERSION的內容替換掉新生成的元資料資料夾裡面的VERSION檔案內容,同時複製/tmp/hadoop-root/dfs/namesecondary/current資料夾下以fsimage開頭的檔案到namenode的元資料資料夾下

5.重啟叢集。通過UI介面可以看到資料已經恢復。

 生產環境中資料可能不會完全恢復,因為宕機時沒有機會來做checkpoint。