HDFS的體系結構


  1.分布式文件系統存儲副本的方式

    1).客戶端負責寫所有副本。例如每個block要存3個副本,客戶端要將3個副本都存到DataNode上才算成功

    2).客戶端是負責寫一個副本。剩下的副本由NameNode負責,DataNode向其他DataNode復制(形成一個管道),復制和客戶端寫block是異步的

  2.具體的切分block由客戶端負責

1.NameNode元數據管理機制

  1.客戶端上傳文件時,NN首先往edits.log文件中記錄元數據操作日志

  2.客戶端開始上傳文件,完成后返回成功信息給NN,NN就在內存中寫入這次上傳操作新產生的元數據信息

  3.每當editor.log寫滿時,需要將這一段時間新的元數據信息刷到fsimage中去(將edits.log中的數據域fsimage做合並)

 

  合並需要做運算,為了減輕NN的壓力,由SecondaryNameNode來做這次操作。如下圖:

2.DataNode的作用

  1.提供真實文件數據的存儲服務。

  2.文件塊(block):最基本的存儲單位。對於文件內容而言,一個文件的長度大小是size,那么從文件的0偏移開始,按照固定的大小,順序對文件進行划分並編號,划分好的每一個塊稱一個Block。HDFS默認Block大小是128MB以一個256MB文件,共有256/128=2個Block.

dfs.block.size

  3.不同於普通文件系統的是,HDFS中,如果一個文件小於一個數據塊的大小,並不占用整個數據塊存儲空間

  4.Replication。多復本。默認是三個。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM