Fsimage與EditLog的合併步驟

2021-10-01 17:19:00 字數 684 閱讀 1213

由於editlog不斷增長,在namenode重啟時,會造成長時間namenode處於安全模式,不可用狀態,是非常不符合hadoop的設計初衷。所以要週期性合併editlog,但是這個工作由namenode來完成,會占用大量資源,這樣就出現了secondarynamenode,它可以進行checkpoint的工作。

安全模式:hdfs所處的一種特殊狀態,在這種狀態下,檔案系統只接受讀資料請求,而不接受刪除、修改等變更請求。

輔助namenode請求主namenode停止使用正在進行中的edits檔案,這樣新的編輯操作記錄到乙個新檔案中。主namenode還會更新所有儲存目錄中的seen txid檔案。

輔助namenode從主namenode獲取最近的fsimage和edits檔案(採用http get)。

輔助namenode將fsimage檔案載入記憶體,逐一執行edits檔案中的事務,建立新的合併後的fsimage檔案。

輔助namenode將新的fsimage檔案傳送回主namenode(採用http put),主namenode將其儲存為臨時的ckp檔案。(有個疑問ckp檔案有什麼特點?哪位知道麻煩告知。謝謝。)

主namenode重新命名臨時的fsimage檔案,便於日後使用。

FSimage與EditLog合併的過程

secondry namenode每個週期 15min 詢問edit檔案的大小。當edit檔案達到合併閾值時,namenode停止使用edit檔案,並建立乙個edit.new的新檔案。secondary namenode通過get請求得到fsimage檔案和edit檔案,執行edit檔案中的操作,結...

NameNode中的Fsimage和Edits解析

在在 opt module hadoop 2.7.2 data tmp dfs name current 目錄下 1.fsimage檔案 hdfs檔案系統元資料的乙個永久性的檢查點,其中包含hdfs檔案系統的所有目錄和檔案idnode的序列化資訊 2.fsimage.md5檔案 是映象檔案的 md5...

SQL與NoSQL MySQL與NoSQL的融合

寫這一篇內容的原因是mysql5.6.2突然推出了memcached的功能。nosql to innodb with memcached的出現,可以看出nosql對關聯式資料庫的確產生了巨大的影響,個人覺得這是乙個非常大的進步,可以讓開發人員更加方便的使用nosql和關聯式資料庫。nosql一般被認...