HDFS成員的工作機制

MMarshall發表於2022-03-03

NameNode工作機制


nn負責管理塊的後設資料資訊,後設資料資訊為fsimage和edits預寫日誌,通過edits預寫日誌來更新fsimage中的後設資料資訊,
每次namenode啟動時,都會將磁碟中的fsimage讀入到記憶體
當達到snn的checkpoint標準時(一小時或100W次操作),由scc輔助nn進行edits和fsimage的合併

 

SecondaryNameNode的工作機制


scc向nn詢問是否需要執行checkpoint,並且直接帶回詢問結果。
scc請求執行checkpoint
nn滾動正在寫的edits日誌,將checkpoint以前的edits和fsimage拷貝給snn
snn將edits和fsimage載入到記憶體中並且合併,生成新的檔案fsimage.checkpoint
snn將新生成的fsimage.checkpoint拷貝給nn,nn將檔案改名為fsimage

*** Fsimage介紹 ***


FSImage 是 NameNode 自最後一次 CheckPoint 之前的全部後設資料,並不是實時的資料
FSImage 儲存了 NameNode 管理下的所有 DataNode 的檔案和目錄資訊
(對檔案來說:包括檔案的 block、各個 block 所在的 DataNode,以及它們的修改時間、訪問時間等
對目錄來說:包括修改時間、訪問許可權控制資訊(許可權、屬組)等。)
FSImage 預設會儲存2個,由屬性 dfs.namenode.num.checkpoints.retained 控制。

 

DateNode工作流程


dn在啟動後會向nn進行註冊,彙報塊資訊,
在註冊成功後,預設每隔6小時向nn彙報一次塊資訊,
每三秒與nn進行一次心跳,心跳會帶回nn對dn的命令,如刪除某資料塊(如果超過10分鐘+30秒沒有與nn進行心跳則會認為次dn已經掛掉)
叢集執行中可以安全的加入和退出一些機器

相關文章