hadoop入門之namenode工作特點介紹

本文主要介紹了hadoop中namenode的工作特點,,namenode在將metadata寫到editlog的時候會同步到磁盤,大家參考使用吧

namenode始終在內存中保存metedata(整個文件系統的目錄結構,每個目錄有哪些文件,每個文件有哪些分塊及每個分塊保存在哪個DataNode上),用於處理“讀請求”(不需要修改內容)
到有“寫請求”到來時,namenode會首先對metedata修改的內容寫editlog到磁盤(每一次改變都會同步到磁盤。),成功返回後,纔會修改內存,並且向客戶端返回。客戶端在寫數據到每個datanode中。namenode在將metadata寫到editlog的時候會同步到磁盤。

Hadoop會維護一個fsimage文件,也就是namenode中metedata的鏡像,但是fsimage不會隨時與namenode內存中的metedata保持一致(因爲非常大),而是每隔一段時間通過合併editlog來更新內容。Secondary namenode就是用來更新fsimage的 

secondary namenode的工作流程

1.Secondary通知primary切換editlog(目的合併editlog)
2.Secondary從primary獲得fsimage和editlog(通過http)
3.Secondary將fsimage載入內存,然後開始合併editlog
4.Secondary將新的fsimage發回給primary
5.Primary用新的fsimage替換舊的fsimage

什麼時候checkpiont?
fs.checkpoint.period 指定兩次checkpoint的最大時間間隔,默認3600秒。
fs.checkpoint.size 規定edits文件的最大值,一旦超過這個值則強制checkpoint,不管是否到達最大時間間隔。默認大小是64M。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章