存在單點故障的namenode宕機恢復測試
阿新 • • 發佈:2018-11-14
前提:如果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。