1.SNN CheckPoint的處理流程spa
配置中配置作CheckPoint的兩個條件,一個是文件大小editlog大於多大就作,另外一個是時間維度,多長時間作一次。ci
(1)SNN首先檢查是否須要進行checkpoint操做,若是上面兩個條件任何一個知足了就能夠it
(2)經過RPC 向NameNode發送請求,rollEditLog()NameNode關閉如今的edit的stream,同時生成一個edit.new,並打開加入寫入的源。stream
(3)SNN從NN處download fsimage文件和edit文件並進行merge配置
(4)merge結束後通知NN從SNN處拉去FSImage文件保存在NN的FSImage.ckpt上面請求
(5)一切順利結束的話將edit.new重命名爲edit,並open stream,將FSImage.ckpt重命名爲FSImage,更新FSTime文件,更新時間戳im
二、NN重啓對Image和Edits的處理時間戳
先對各個目錄的image和edit文件有效性進行判斷,同時讀取checkpoint的最近值。命名
若是image.ckpt存在,同時edit.new存在那麼也許正進行一半,沒法肯定是否完成image拉取,刪掉image.ckpt。不然將image.ckpt rename到image。margin
而後正常的讀取FSImage,將edit merge進去。
若是存在edit.new 也merge進去。