Hadoop入門(7)_NameNode的工做特色

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


Hadoop會維護一個fsimage文件,也就是namenode中metedata的鏡像,可是fsimage不會隨時與namenode內存中的metedata保持一致(由於很是大),而是每隔一段時間經過合併editlog來更新內容。Secondary namenode就是用來更新fsimage的   oop

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 spa

 

何時checkpiont
fs.checkpoint.period 指定兩次checkpoint的最大時間間隔,默認3600秒。
fs.checkpoint.size 規定edits文件的最大值,一旦超過這個值則強制checkpoint,無論是否到達最大時間間隔。默認大小是64M。 內存

相關文章
相關標籤/搜索