您好,登錄后才能下訂單哦!
這篇文章主要介紹HDFS的體系結構有哪些,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
分布式文件系統HDFS是一種分布式文件系統,設計用于在商用硬件上運行,它與現有的分布式文件系統有許多相似之處。但是,與其他的分布式文件系統也有著很大的差異,HDFS旨在具有高容錯、部署在低成本應將、提供對應用數據的高吞吐量訪問。適用于具有大型數據集的應用程序。
HDFS采用了典型的Master/Slave系統架構,一個HDFS集群通常包含一個NameNode節點和若干的DataNode節點,一個文件被分成了一個或者多個數據塊,并且存儲在一組DataNode上,DataNode節點可以分布在不同的機架。NameNode執行文件系統的名字空間打開、關閉、重命名文件或者目錄等操作,同時負責管理數據塊到具體的DataNode節點的映射。在NameNode的統一調度下,DataNode負責處理文件系統客戶端的讀/寫請求,完成數據塊的創建、刪除和復制。
NameNode和DataNode
HDFS具有主從架構,NameNode節點負責集群的任務調度,DataNode節點負責執行任務和存儲數據塊,NameNode管理文件系統的命名空間,維護者整個文件系統的文件目錄樹以及這些文件的索引目錄。這些信息以命名空間鏡像和編輯日志靚仔形式存儲在本地文件系統中。從NameNode中可以獲取每個文件的每個塊存儲在DataNode節點的位置,NameNode會在每次啟動系統時動態的重建這些信息。客戶端通過NameNode獲取元數據信息,與DataNode會進行交互以訪問整個文件系統。
單個NameNode:一個管理文件系統命名空間的主服務器和管理客戶端對文件的訪問組成。此外,還有許多DataNode:通常是群集中每個節點一個,用于管理連接到它們運行的節點的存儲。
DataNode是文件系統的工作節點,供客戶端和NameNode調用并且執行具體任務,存儲文件塊。DataNode通過心跳機制制定時向NameNode發送所儲存的文件塊信息,報告其工作狀態
數據塊
數據塊是磁盤進行數據讀/寫操作的最小單元。文件以塊的形式存儲在磁盤中,文件系統每次都能操作磁盤塊大小整數倍的數據。HDFS中的文件也被劃分為多個邏輯塊進行存儲。HDFS中的數據庫的大小,影響到尋址開銷,數據塊越小,尋址開銷越大,如果數據庫設置的足夠大,從磁盤傳輸數據的時間會明顯大于定位這個數據塊開始位置所需要的時間。因而,傳輸一個由多個數據塊組成的文件的時間取決于磁盤傳輸效率,用戶必須在數據塊大小設置上做出優化選擇。
HDFS作為分布式系統,使用抽象的數據塊的優勢:
通過集群擴展能力可以存儲大于網絡中任意一個磁盤容量的任意大小文件
使用抽象塊而不是整個文件作為存儲單元,可簡化存儲子系統,固定塊大小可方便元數據和文件數據塊的內容分開存儲
便于備份和數據容錯,提供系統可用性。
以上是“HDFS的體系結構有哪些”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。