hdfs standby namenode checkpoint 的一些參數


dfs.namenode.checkpoint.period
--兩次檢查點創建之間的固定時間間隔,默認3600,即1小時。所以去ann snn 看到的fsimage 相隔1個小時。

dfs.namenode.checkpoint.txns
--standby namenode 檢查的事務數量。若檢查事務數達到這個值,也觸發一次checkpoint,1,000,000。

以上兩個參數都是觸發snn checkpoint 的條件

dfs.namenode.checkpoint.check.period
--standby namenode檢查是否滿足建立checkpoint的條件的檢查周期。默認60,即每1min檢查一次。

dfs.namenode.num.checkpoints.retained
--在namenode上保存的fsimage的數目,超出的會被刪除。默認保存2個。

dfs.namenode.num.checkpoints.retained
--最多能保存的edits文件個數,默認為1,000,000. 為防止standby namenode宕機導致edits文件堆積的情況,設置的限制。

dfs.ha.tail-edits.period
--standby namenode每隔多長時間去檢測新的Edits文件。只檢測完成了的Edits, 不檢測inprogress的文件。default:60s

StandbyCheckpointer 的doWork()
 SNN查看是否滿足創建checkpoint 的條件:
1) 距離上次checkpoint的時間間隔 >= ${dfs.namenode.checkpoint.period}(
2) Edits中的事務條數達到${dfs.namenode.checkpoint.txns}限制
這兩個條件任何一個被滿足了,就觸發一次checkpoint 創建。

也可以手動checkpoint :

1. hdfs dfsadmin -safemode enter
 >Safe mode is ON in dev01/192.168.254.43:8020
 >Safe mode is ON in dev02/192.168.254.44:8020

2. hdfs dfsadmin -saveNamespace
  > Save namespace successful for dev01/192.168.254.43:8020
  > Save namespace successful for dev02/192.168.254.44:8020

3. hdfs dfsadmin -safemode leave
 >Safe mode is OFF in dev01/192.168.254.43:8020
 >Safe mode is OFF in dev02/192.168.254.44:8020
首先,checkpoint 之前要先進入安全模式。進入安全模式后,執行saveNamespace命令,他會把a-nn的fsimage 與 大於fsimage txid的editlog(包括finalized 與 in_progress的)合並成新的fsimage並落盤,然后新生成一個editlog。

checkpoint before:

checkpoint after:


參考:http://blog.cloudera.com/blog/2014/03/a-guide-to-checkpointing-in-hadoop/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM