HDFS的fsimage和edits是什麼、有什麼作用
Fsimage,Edits詳解
目標:掌握Fsimage和Edits的作用。
NameNode元資料解析
(1)第一次啟動namenode格式化後,建立fsimage和edits檔案。如果不是第一次啟動,直接載入edits和fsimage檔案到記憶體。
(2)客戶端對元資料進行增刪改的請求。
(3)namenode記錄操作日誌,更新滾動日誌。
(4)namenode在記憶體中對資料進行增刪改查。
fsimage儲存了最新的元資料檢查點,在HDFS啟動時載入fsimage的資訊,包含了整個HDFS檔案系統的所有目錄和檔案的資訊。
對於檔案來說包括了資料塊描述資訊、修改時間、訪問時間等。
對於目錄來說包括修改時間、訪問許可權控制資訊(目錄所屬使用者,所在組)等。
editlog主要是在NameNode已經啟動情況下對HDFS進行的各種更新操作進行記錄,HDFS客戶端執行所有的寫操作都會被記錄到editlog中。
Fsimage,editlog主要用於在叢集啟動時將叢集的狀態恢復到關閉前的狀態。
為了達到這個目的,叢集啟動時將Fsimage、editlog載入到記憶體中,進行合併,合併後恢復完成。
元資料資訊目錄的配置
hdfs-site.xml當中
<property>
<name>dfs.namenode.name.dir</name>
<value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/namenodeDatas
</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>
file:///export/servers/Hadoop-2.6.0-cdh5.14.0/HadoopDatas/dfs/nn/edits
</value>
</property>