namenode在內存和磁盤中都保存了fsimage和edits文件node
內存中保證hdfs文件系統的訪問效率,磁盤中保證hdfs文件系統的安全性安全
namenode的文件組成:oop
fsimage文件:保存文件系統中直至上次checkpoint爲止 的目錄和文件元數據日誌
edits文件:保存文件系統中直至上次checkpoint爲止 的操做記錄orm
首次啓動時須要格式化:hadoop fs namenode -format,主要是爲了生成fsimage文件內存
首次過程:hadoop
啓動namenode讀取fsimage生成內存中元數據get
啓動datanode,dn向nn註冊,發送blockreportit
啓動完成以後client能夠向hdfs文件系統進行操做(create,put,get,cat...),操做日誌將會被寫到edits文件中form
以後的過程:
讀取fsimage元數據文件加載到內存,讀取edits文件加載到內存,而後再磁盤中生成一份和內存中同樣的fsimage文件,同時生成一份新的空edits文件,用於記錄以後的hdfs操做日誌
secondarynamenode:輔助namenode可是不能替代
工做過程:snn經過http請求獲取nn的fsimage和edits文件,snn將fsimage加載內存而後合併edits,造成新的fsimage後發送給nn
安全模式:在namenode和datanode徹底啓動以前的階段,該模式下client只能讀取hdfs文件信息,不能更改任何內容
dfsadmin -safemode enter
dfsadmin -safemode get
dfsadmin -safemode leave