hdfs的目錄結構,包含哪些資料夾子資料夾,以及資料夾下面包含哪些檔案,以及每個檔案的block資訊(id,副本係數,block存放在那個datanode上)
元資料存放在$/name
路徑下。
在namenode的記憶體中有乙個樹形結構,存放的就是元資料資訊,對檔案的任何修改都在記憶體中有體現,但是如果機器掛掉之後,記憶體中的資料就會丟失,因此namenode會定期將記憶體中的元資料寫到磁碟中,寫入磁碟中的檔案就是fsimage
,但是這只能解決一部分的問題,仍然會出現資料丟失的問題,因此hdfs採用記錄日誌的方式來記錄操作,類似於mysql記錄日誌。hdfs日誌就記錄在edits檔案中,這個檔案中記錄了一段時間內所有對hdfs相關的操作操作。如果機器重啟之後,將fsimage
與edits
兩者結合起來就可以將資料恢復,資料就不會丟失了,這種操作往往是由secondarynamenode來完成,namenode是響應客戶端的所有請求,本身壓力就不小,因此合併的操作就交給secondarynamenode來做。
secondarynamenode與namenode的關係不是主備關係,是專門用來做合併操作的。當需要合併時,首先獲取namenode中的fsimage
與對應的edits
,然後在記憶體中可以形成乙個樹形結構,將edits
更新到記憶體中去,這樣就得到乙個完整的資料。
整個過程就叫做checkpoint
hdfs元資料管理
元資料就是檔案的建立時間 大小 許可權 塊列表等資訊。在hadoop集群中namenode的元資料資訊都儲存在了fslmage和eidts檔案中,這兩個檔案的目錄資訊就配置在hdfs site.xml檔案中。fsimage hdfs檔案系統存於硬碟中的元資料檢查點,裡面記錄了自最後一次檢查點之前hd...
HDFS知識點 四 HDFS元資料管理
元資料就是 hdfs的目錄結構以及每個檔案的block資訊 id 副本係數 block存放在哪個datanode上 對應配置 name 在 name current下,這些就是元資料 元資料存放在檔案中 一般情況下合併不會交給namenode來操作的,因為客戶端的所有請求都在namenode上,如果...
複習記錄一 HDFS元資料管理
fsimage和edits 在hdfs集群中,namenode的元資料都儲存在了fsiamge和edits當中。這兩個檔案就記錄了所有的元資料資訊。edits fsimage secondarynamenode的合併操作 為了防止edits檔案過大,secondarynamenode會定期的合併fs...