1. 程式人生 > >第二名稱節點(Secondary NAmeNode)的“檢查點”作用

第二名稱節點(Secondary NAmeNode)的“檢查點”作用

HDFS中的名稱節點(NameNode)

  1. 名稱節點:負責管理分散式檔案系統的名稱空間,裡面包含了兩個核心的資料結構,即FsImage和EditLog。FsImage使用者檔案樹以及所有的檔案和資料夾的元資料。EfitLog記錄的是檔案的增刪改查。
  2. 首次安裝format格式化就是在本地生成FsImage。首次安裝format格式化就是在本地生成FsImage。
  3. HDFS的更新都會被寫入到FsImage中而不是EditLog,因為對於分散式而言,FsImage非常龐大,直接對FsImage速度非常慢。HDFS的更新都會被寫入到FsImage中而不是EditLog,因為對於分散式而言,FsImage非常龐大,直接對FsImage速度非常慢。
  4. 資料節點(DataNode):定期向名稱節點發送自己的儲存塊的列表。資料節點(DataNode):定期向名稱節點發送自己的儲存塊的列表。

第二名稱節點

因為HDFS檔案會逐漸地變大,不斷變大的EditLog檔案通常不會對系統檔案產生影響,但是當EditLog很大時,使得在HDFS重啟時,將EditLog合併到FsImage中的過程十分緩慢,系統長期處於“安全模式”,使用者的使用收到影響。

HDFS的第二名稱節點(secondary NameNode)的作用:完成EditLog合併到FsImage的過程,縮短合併的重啟時間,其次作為“檢查點”儲存元資料的資訊。

在這裡插入圖片描述

如圖,EditLog合併到FsImage中的過程:名稱節點會生成新的EditLog.new來記錄t2時刻以後的資料,EditLog和FsImage會被拉到第二名稱節點中,合併成為FsImage.ckpt,在t1時刻替換名稱節點中的FsImage。

這樣會出現一問題,如果是t2到t1時刻之間出現了問題,FsImage中的資料會丟失,所以說第二名稱節點只是起到了“檢查點”的作用而絕非“熱備份”。