【知識積累】大數據旅程-Hadoop之HDFS簡介

1、HDFS原理:

一個節點登記,其他節點存數據,其他節點存完數據向登記節點回報。

2、存儲模型(字節):

  • 文件線性切割成塊(Block:偏移量、位置信息)
  • 偏移量 offset(byte)

       offset:塊的第一個字節面向原文件的下標
       第一個字節下標是0
       如果一個塊是四個字節,那麼第一個塊是0、1、2、3,第二個塊的偏移量是4

  • Block分散存儲在集羣節點中
  • 單一文件Block大小一致,文件與文件可以不一致

       定義四個字節一個塊,存儲時就是四個字節,如果最後只剩下兩個字節,那麼就是一個塊存兩個字節
       第一個文件可以是四個字節一個塊,第二個直接可以是8個字節

  • Block可以設置副本數(一個文件切了兩個塊,也就是兩個節點A1和B1,如果A1掛掉,那麼文件不再完整,則需要A*作爲副本,提高可靠性),副本分散在不同節點中

       副本數不要超過節點數量
       塊是平級的,如果有三個副本,則這個塊需要三個節點存儲。

  • 文件上傳可以設置Block大小和副本數
  • 已上傳的文件Block副本數可以調整,大小不變
  • 只支持一次寫入多次讀取,同一時刻只有一個寫入者
  • 可以append追加數據

3、架構模型:

  • 文件元數據MetaData,文件數據

       元數據
       數據本身

  • (主)NameNode節點(進程維護了虛擬目錄樹來映射存儲關係)保存文件元數據單節點 posix
  • (從)DataNode節點(保存小文件)保存文件Block數據:多節點
  • DataNode與NameNode保持心跳,提交Block列表
  • HdfsClient與NameNode交互元數據信息
  • HdfsClient與DataNode交互文件Block數據

4、HDFS設計思想

HDFS 1.*版本的Block默認大小是64M,2.*Block版本的默認大小是128M

 

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