您好,登錄后才能下訂單哦!
Hadoop分布式文件系統
HDFS Hadoop Distributed Filesystem
分布式文件系統:當數據集大到超過一臺獨立的計算機存儲能力時,就需要存儲到若干臺單獨的計算機上,管理網絡中跨多臺計算機存儲的文件系統稱為分布式文件系統。
分布式文件系統復雜性:需要考慮節點故障、不丟失任何數據。
HDFS以流式數據訪問模式來存儲超大文件,運行于商用硬件集群上。
1.超大文件:TB甚至PB級。
2.流式數據訪問:一次寫入,多次讀取是最高效地訪問模式。在數據集上長時間進行各類分析,每次分析都涉及到數據集的大部分甚至全部。
3.商用硬件:不需要昂貴且高可靠的硬件,商用硬件,高故障率,但不被用戶察覺。
不適合運行在HDFS上:
1.低延遲的數據訪問:高數據吞吐量,以高時間延遲為代價。
2.大量的小文件:namenode將文件系統的元數據存儲在內存中,所能存儲的文件總數受限于namenode的內存總量。
3.多用戶寫入,任意修改文件:一個writer,寫操作總是將數據添加到文件的末尾。
數據塊:
HDFS的數據塊,默認64MB。
HDFS的快比磁盤的塊大,目的是為了最小化尋址開銷。如果塊設置的足夠大,從磁盤傳輸數據的時間可以明顯的大于定位這個塊開始位置所需的時間。這樣,傳輸一個由多個塊組成的文件的時間取決于磁盤傳輸速率。
塊概念的抽象好處:
1.一個文件的大小可以大于網絡中任意一個磁盤的容量。一個文件的所有塊不需要存儲在同一個磁盤上。
2.使用塊而非文件作為存儲單元,簡化存儲管理。
3.塊非常適用于數據備份進而提供數據容錯能力和可用性。
namenode和datanode
HDFS集群有兩類節點,并以管理者-工作者模式運行,即一個namenode(管理者)和多個datanode(工作者)。
namenode管理文件系統的命名空間,維護著文件系統樹及整棵樹內所有的文件和目錄。
datanode是文件系統的工作節點,它們根據需要存儲并檢索數據塊(受客戶端或namenode調度),并且定期向namenode發送它們所存儲的塊的列表。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。