您好,登錄后才能下訂單哦!
這篇文章主要介紹了HDFS體系結構是什么,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
HDFS的體系框架是Master/Slave結構,一個典型的HDFS通常由單個NameNode和多個DataNode組成。NameNode是一個中心服務器,負責文件系統(tǒng)的名字空間的操作,比如打開、關閉、重命名文件或目錄,它負責維護文件路徑到數(shù)據(jù)塊的映射,數(shù)據(jù)塊到DataNode的映射,以及監(jiān)控DataNode的心跳和維護數(shù)據(jù)塊副本的個數(shù)。集群中的DataNode一般是一個節(jié)點一個,負責管理它所在節(jié)點上的存儲。HDFS暴露了文件系統(tǒng)的名字空間,用戶能夠以文件的形式在上面存儲數(shù)據(jù)。從內(nèi)部看,一個文件其實被分成一個或多個數(shù)據(jù)塊,這些塊存儲在一組DataNode上。DataNode負責處理文件系統(tǒng)客戶端的讀寫請求。在NameNode的統(tǒng)一調(diào)度下進行數(shù)據(jù)塊的創(chuàng)建、刪除和復制。
所有對目錄樹的更新和文件名和數(shù)據(jù)塊關系的修改,都必須能夠持久化,文件在HDFS中存儲圖如圖2:
圖2 文件在HDFS中的存儲圖
HDFS涉及到NameNode、DataNode和客戶端們之間的交互。本質(zhì)上,客戶端與NameNode通訊是通過獲取或者修改文件的元數(shù)據(jù),與 DataNode進行實際的I/O操作。如圖3所示,在HDFS中有三個重要的角色:NameNode、DataNode和Client,其中Client就是需要獲取分布式文件系統(tǒng)文件的應用程序。
這里通過三個操作來說明他們之間的交互關系
(l)文件寫入。首先Client向NameNode發(fā)起文件寫入的請求,NameNode根據(jù)文件大小和文件塊配置情況,返回給Client它所管理部分DataNode的信息。Client將文件劃分為多個Block,根據(jù)DataNode的地址信息,按順序?qū)懭氲矫恳粋€DataNode塊中。
(2)文件讀取。Client向NameNode發(fā)起文件讀取的請求,NameNode返回文件存儲的DataNode的信息。Client根據(jù)返回的信息讀取DataNode上的文件信息。
(3)文件Block復制。NameNode發(fā)現(xiàn)部分文件的Block不符合最小復制數(shù)或者部分DataNode失效,通知DataNode相互復制Block。DataNode收到通知后開始直接相互復制。
圖3 HDFS結構圖
感謝你能夠認真閱讀完這篇文章,希望小編分享的“HDFS體系結構是什么”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業(yè)資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。