Hadoop核心組成部分、HDFS存儲模型和架構模型總結

Hadoop核心組成部分

(1)Hadoop Common:用來支撐其他模塊的公共工具包

(2)HDFS: 一種分佈式文件系統,提供對應用程序數據的高吞吐量訪問。

(3)Hadoop Yarn:作業調度和集群資源管理的框架。

(4)Hadoop MapReduce:基於YARN的系統,用於並行處理大型數據集。

HDFS存儲模型

存儲模型:字節(一個文件就是一個字節數組)

 ①block塊產生:文件線性切割成block塊,偏移量(offset)(byte)

 ②block塊存儲:block分散存儲在集群節點中

 ③block塊大小要求:單一文件block大小一致,文件和文件可以不一致

 ④block塊副本:block 可以設置副本,副本分散在集群的不同節點上,副本數量不能超過集群節點數量

 ⑤關於文件上傳:

   文件上傳可以設置block大小和副本數

   已經上傳的文件Block副本數可以調整,大小不變

   僅支持一次寫入多次讀取,同一時刻只能有一個寫入者

   可以append追加數據

架構模型

1、數據種類

  元數據MetaData,

  文件數據本身。

  

2、角色(主從架構)

 

 (1)NameNode存儲:保存文件的元數據(目錄樹、路徑也算)

   ①基於內存存儲:不會和磁盤發生交換

     NameNode的數據只會在內存中

     持久化(Namenode基於內存存儲,內存是掉電易失的,所以會將內存中的數據持久化到磁盤)

   ②主要功能:

     NameNode是保存文件元數據信息的

     NameNode用來和客戶端交互,接收客戶端的讀寫服務

     收集DataNode彙報上來的block塊列表信息

   ③保存的metadata信息

     不保存位置信息,是因為需要保證數據一致性(提供百分之百準確的消息)

(2)DataNode:存儲塊文件,保存文件block數據,向NameNode彙報block塊的列表

   ①存儲:

     本地磁盤目錄存儲block塊的數據,以文件形式

     存儲block塊的元數據信息

   ②功能:

     向Namenode彙報block塊的信息

     和Namenode通過心跳(3秒一次)保持聯繫,如果Namenode10分鐘沒有接收到DataNode的心跳,則認為該DataNode已經lost,Namenode會將該DataNode上的block塊複製到其他DataNode上

     

 (3)關係(HDFSClient、DataNode、NameNode):

  

   三者的關係:

   

     DataNode與NameNode保持心跳,DataNode向NameNode提交block列表;

     HDFSClient和Namenode交互文件元數據;

     HDFSClient和DataNode交互文件block數據


Hadoop核心組成部分、HDFS存儲模型和架構模型總結,不熟悉的小夥伴趕緊 mark 起來吧。

往期精彩推薦


分享到:


相關文章: