1. 程式人生 > >NameNode工作機制

NameNode工作機制

NameNode

是整個檔案系統的管理節點。他維護這整個檔案系統的檔案目錄樹,檔案/目錄的元資訊和每個檔案對應的資料塊列表。接受使用者的操作請求。

檔案包扣:

fsimage:元資料映象檔案。儲存某一時段NameNode記憶體元資料資訊。

edits:操作日誌檔案

fstime:儲存最近一次checkpoint的時間

NameNode的工作特點

NameNode始終在記憶體中儲存metedata,用於處理“讀請求”

到有“寫請求到來時”,namenode會首先寫editlog到磁碟,即向edits檔案中寫日誌,成功返回後,才會修改記憶體,並且向客戶端返回

Hadoop會維護一個fsimage檔案,也就是namenode中metedata的映象,但是fsimage不會隨時與namenode記憶體中的metedata保持一致,而是每隔一段時間通過合併edits檔案來更新內容。Secondary namenode就是用來合併fsimage和edits檔案來更新namenode的metedata的。

Secondary NameNode

HA的一個解決方案。但不支援熱備。配置即可

執行過程:從NameNode上下載元資料資訊(fsimage,edits),然後把二者合併,生成新的fsimage,在本地儲存,並將其推送到NameNode,替換舊的fsimage

預設安裝在NameNode節點上,但這樣...不安全!

secondary namenode的工作流程

1.secondary通知namenode切換edits檔案

2.secondary從namenode獲得fsimage和edits(通過http)

3.secondary將fsimage載入記憶體,然後開始合併edits

4.secondary將新的fsimage發揮給namenode

5.namenode用新的fsimage替換舊的fsimage