大數據學習之-NN,SNN和DN的做用

NameNode(名稱節點,簡稱NN)做用:

  • 文件系統命名空間,維護文件系統目錄樹
  • 存儲文件名稱,
  • 文件目錄結構,
  • 文件屬性(權限,大小,建立時間,副本數及大小....),
  • 文件對應的數據塊及這些塊所對應的數據節點,咱們稱爲blockmap,這種映射關係存儲在NN中,可是並不會持久化這種關係,這個映射關係由DN在啓動的時候上報給NN。

以上關係由fsimage+editslog來存儲。node

DataNode(數據節點,簡稱DN)做用:

  • 存儲數據塊及塊校驗(爲了防止塊損壞帶來的數據讀取錯誤) 
  • 每隔3秒與NN通訊併發送一個心跳包;每10個心跳包向NN上報blockReport

SecondaryNameNode(輔助名稱節點,簡稱SNN):

  • 存儲fsimage,editslog;
  • 按期合併fsimage+editslog,合併時機由檢查點(checkpoint)決定,檢查點由dfs.namenode.checkpoint.period 參數定義,默認3600秒。

SNN每隔一個小時從NN上備份fsimage下來併發

fsimage 鏡像文件,系統鏡像文件,系統全量文件spa

editslog操做日誌,讀寫記錄操做,系統增量文件日誌

客戶端向DN寫數據,若是副本數是3,客戶端只須要寫入1分數據,而後拷貝。blog

SNN流程:

SNN每隔一小時從NN上下載fsimage和edits文件,在SNN節點合併生成新的fsimage,合併完成後 把這個新的fsimage文件推送到NN節點替換掉原來的fsimage,在fsimage合併期間,NN節點的全部的操做都記錄在edits中,這個時候 NN節點就有新的fsimage文件和edits文件。it

相關文章
相關標籤/搜索