您好,登錄后才能下訂單哦!
HDFS入門基礎有哪些?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
1、HDFS設計目標
(1)硬件故障是常態,HDFS將有成百上千的服務器組成,每一個組成部分都有可能出現故障。因此故障的檢測和自動快速恢復是HDFS的核心架構目標。
(2)HDFS上的應用與一般的應用不同,它們主要是以流式讀取數據。HDFS被設計成適合批量處理,而不是用戶交互式的。相較于數據訪問的反應時間,更注重數據訪問的高吞吐量。
(3)典型的HDFS文件大小是GB到TB的級別。所以,HDFS被調整成支持大文件。它應該提供很高的聚合數據帶寬,一個集群中支持數百個節點,一個集群中還應該支持千萬級別的文件。
(4)大部分HDFS應用對文件要求的是write-one-read-many訪問模型。一個文件一旦創建、寫入、關閉之后就不需要修改了。這一假設簡化了數據一致性問題,使高吞吐量的數據訪問成為可能。
(5)移動計算的代價比之移動數據的代價低。一個應用請求的計算,離它操作的數據越近就越高效,這在數據達到海量級別的時候更是如此。將計算移動到數據附近,比之將數據移動到應用所在顯然更好。
(6)在異構的硬件和軟件平臺上的可移植性。這將推動需要大數據集的應用更廣泛地采用HDFS作為平臺。
2、HDFS的重要特性
HDFS入門基礎學習繞不開的一個知識點就是HDFS的重要特性。首先,HDFS是一個文件系統,用于存儲文件,通過統一的命名空間目錄樹來定位文件;其次,HDFS是分布式的,由很多服務器聯合起來實現其功能,集群中的服務器有各自的角色。
(1)master/slave架構
HDFS采用master/slave架構。一般一個HDFS集群是有一個Namenode和一定數目的Datanode組成。Namenode是HDFS集群主節點,Datanode是HDFS集群從節點,兩種角色各司其職,共同協調完成分布式的文件存儲服務。
(2)分塊存儲
HDFS 中的文件在物理上是分塊存儲(block)的,塊的大小可以通過配置參數來規定,默認大小在 hadoop2.x 版本中是 128M。
(3)名字空間
HDFS支持傳統的層次型文件組織結構。用戶或者應用程序可以創建目錄, 然后將文件保存在這些目錄里。文件系統名字空間的層次結構和大多數現有的文件系統類似:用戶可以創建、刪除、移動或重命名文件。Namenode 負責維護文件系統的名字空間,任何對文件系統名字空間或屬性的修改都將被 Namenode 記錄下來。
(4)Namenode元數據管理
我們把目錄結構及文件分塊位置信息叫做元數據。Namenode負責維護整個hdfs 文件系統的目錄樹結構,以及每一個文件所對應的block塊信息(block的id,及所在的datanode服務器)。
(5)Datanode數據存儲
文件的各個block的具體存儲管理由datanode節點承擔。每一個block都可以在多個 datanode 上。
(6)副本機制
為了容錯,文件的所有block都會有副本。每個文件的block大小和副本系數都是可配置的。應用程序可以指定某個文件的副本數目。副本系數可以在文件創建的時候指定,也可以在之后改變。
(7)一次寫入,多次讀出
HDFS是設計成適應一次寫入,多次讀出的場景,且不支持文件的修改。正因為如此,HDFS 適合用來做大數據分析的底層存儲服務,并不適合用來做網盤等應用,因為修改不方便,延遲大,網絡開銷大,成本太高。
關于HDFS入門基礎有哪些問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。