NameNode將文件系統的元數據以不同的文件保存在本地磁盤中,其中最重要的兩個文件是fsp_w_picpath和edits。fsp_w_picpath包含文件系統元數據的完整快照,而edits僅包含元數據的增量修改。
NameNode啓動後,直接加載fsp_w_picpath到RAM,再通過回放引入edits的增量變化。
NameNode與SecondaryNameNode之間交互定期將edits引入fsp_w_picpath:
SecondaryNameNode引導NameNode滾動更新edits文件,並開始將新的內容寫入edits.new
SecondaryNameNode將NameNode的fsp_w_picpath和edtis文件複製到本地的檢查點目錄
SecondaryNameNode載入fsp_w_picpath文件,回放edits內容,將其合併到fsp_w_picpath,將新的fsp_w_picpath文件壓縮後寫入磁盤
SecondaryNameNode將新的fsp_w_picpath文件送回NameNode,NameNode在接收新的fsp_w_picpath文件後直接加載和應用該文件
NameNode將edits.new更名爲edits
默認情況下,該過程每小時執行一次,或者當NameNode的edits文件達到默認的64MB時也會被觸發