天天看點

NameNode,SecondaryNameNode與Datanode檔案詳解

HDFS流程圖詳解

NameNode,SecondaryNameNode與Datanode檔案詳解

Namenode所存儲資訊

NameNode,SecondaryNameNode與Datanode檔案詳解
NN是整個檔案系統的管理節點。它維護着整個檔案系統的檔案目錄樹,檔案/目錄的元資訊和每個檔案對應的資料塊清單。接收使用者的操作請求

  檔案包括: fsimage:中繼資料鏡像檔案。存儲某一時段NameNode記憶體中繼資料資訊。 edits:記錄檔檔案。

  fstime:儲存最近一次checkpoint的時間 以上這些檔案是儲存在linux的檔案系統中。(:fs.checkpoint.period 指定兩次checkpoint的最大時間間隔,預設秒。 ::fs.checkpoint.size    規定edits檔案的最大值,一旦超過這個值則強制checkpoint,不管是否到達最大時間間隔。預設大小是M。)
           
:Namenode始終在記憶體中儲存metedata,用于處理“讀請求”

:到有“寫請求”到來時,namenode會首先寫editlog到磁盤,即向edits檔案中寫日志,成功傳回後,才會修改記憶體,并且向用戶端傳回

:Hadoop會維護一個fsimage檔案,也就是namenode中metedata的鏡像,但是fsimage不會随時與namenode記憶體中的metedata保持一緻,而是每隔一段時間通過合并edits檔案來更新内容。Secondary namenode就是用來合并fsimage和edits檔案來更新NameNode的metedata的。

:Secondary namenode在hadoop2.X不存在
           

SecondaryNameNode

  1. HA的一個解決方案。但不支援熱備。配置即可。
  2. 執行過程:從NameNode上下載下傳中繼資料資訊(fsimage,edits),然後把二者合并,生成新的fsimage,在本地儲存,并将其推送到NameNode,替換舊的fsimage.
  3. 預設在安裝在NameNode節點上,但這樣…不安全!

    Datanode

1:提供真實檔案資料的存儲服務。

2:檔案塊(block):最基本的存儲機關。對于檔案内容而言,一個檔案的長度大小是size,那麼從檔案的0偏移開始,按照固定的大小,順序對檔案進行劃分并編号,劃分好的每一個塊稱一個Block。HDFS預設Block大小是128MB,以一個256MB檔案,共有256/128=2個Block.

3:不同于普通檔案系統的是,HDFS中,如果一個檔案小于一個資料塊的大小,并不占用整個資料塊存儲空間

4:Replication。多複本。預設是三個。

繼續閱讀