自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

架構(gòu)師入門必看系列,分布式文件系統(tǒng)HDFS解讀

存儲 存儲軟件 分布式
在Hadoop生態(tài)系統(tǒng)中,Hadoop分布式文件系統(tǒng)(HDFS)是非常關(guān)鍵的一環(huán),它為管理大數(shù)據(jù)資源池和支撐相關(guān)大數(shù)據(jù)分析應(yīng)用提供了一個具有高可靠性的工具。

在Hadoop生態(tài)系統(tǒng)中,Hadoop分布式文件系統(tǒng)(HDFS)是非常關(guān)鍵的一環(huán),它為管理大數(shù)據(jù)資源池和支撐相關(guān)大數(shù)據(jù)分析應(yīng)用提供了一個具有高可靠性的工具。在分布式存儲領(lǐng)域,HDFS也扮演著重要角色,是作為系統(tǒng)架構(gòu)師必須了解的分布式文件系統(tǒng)之一。

 

 

HDFS的工作原理

HDFS支持在計算節(jié)點之間快速傳輸數(shù)據(jù)。在開始階段,它與MapReduce緊密耦合——MapReduce是一個用于大規(guī)模數(shù)據(jù)集的并行運算的編程框架。

當HDFS接收數(shù)據(jù)時,會將信息分解為單獨的塊,并將它們分布到集群中的不同節(jié)點,從而支持高效的并行處理。

此外,HDFS專門設(shè)計有高容錯的特性。HDFS可以多次復(fù)制每個數(shù)據(jù)片段,并將副本分發(fā)給各個節(jié)點,將至少一個副本放在其他服務(wù)器機架上。因此,在集群中的其他地方也可以找到崩潰節(jié)點上的數(shù)據(jù)。這確保了在恢復(fù)數(shù)據(jù)時可以繼續(xù)進行處理。

HDFS使用主/從架構(gòu)。在其最初版本中,每個Hadoop集群由一個NameNode(用于管理文件系統(tǒng)運行)和支持DataNode(用于管理單個計算節(jié)點上的數(shù)據(jù)存儲)組成。這些HDFS元素結(jié)合起來,可支持具有大數(shù)據(jù)集的應(yīng)用程序。

這個主節(jié)點“數(shù)據(jù)分塊”架構(gòu),從谷歌文件系統(tǒng)(GFS)以及IBM的通用并行文件系統(tǒng)(GPFS)中吸取了部分設(shè)計指導(dǎo)元素。GFS是一個可擴展的分布式文件系統(tǒng),用于大型的、分布式的、對大量數(shù)據(jù)進行訪問的應(yīng)用。它運行于廉價的普通硬件上,并提供容錯功能,可以給大量的用戶提供總體性能較高的服務(wù)。GPFS是一種專門為集群環(huán)境設(shè)計的高性能、可擴展的并行文件系統(tǒng),可以在集群中的多個節(jié)點間實現(xiàn)對共享文件系統(tǒng)中文件的快速存取操作,并提供穩(wěn)定的故障恢復(fù)和容錯機制。此外,雖然HDFS不是與可移植操作系統(tǒng)接口(POSIX)的模型兼容的,但它在某些方面也與POSIX設(shè)計風(fēng)格相呼應(yīng)。

 

HDFS架構(gòu)圖-應(yīng)用程序通過Client與NameNode和DataNode進行交互

為什么要使用HDFS

HDFS最早出自雅虎,用于滿足該公司廣告服務(wù)和搜索引擎的部分需求。與其他面向Web的公司一樣,雅虎發(fā)現(xiàn)自己需要處理的應(yīng)用程序的用戶訪問越來越多,而這些用戶正在產(chǎn)生越來越多的數(shù)據(jù)。后來,F(xiàn)acebook、eBay和Twitter等公司也開始使用HDFS作為大數(shù)據(jù)分析的基礎(chǔ),來解決相同的需求。

但HDFS的用途遠不止于此。上述所提到的大規(guī)模Web搜索,我們可以將其歸類于數(shù)據(jù)密集型并行計算。此外,HDFS也常用于計算密集型并行計算應(yīng)用場景,如氣象計算。在數(shù)據(jù)密集與計算密集混合型場景中也多有應(yīng)用,如3D建模與渲染。HDFS也是許多開源數(shù)據(jù)倉庫(有時稱為數(shù)據(jù)湖,Data Lake)的核心。

HDFS通常用于大規(guī)模部署,因為它具備一個重要特性,就是可運行在普通廉價機器上。還有,例如運行Web搜索和相關(guān)應(yīng)用程序的這種系統(tǒng),往往需要可以擴展到數(shù)百PB和數(shù)千個節(jié)點,因此系統(tǒng)必須擁有易于擴展的特性,這正是HDFS所具備的。此外,服務(wù)器故障在這種規(guī)模下很常見,HDFS所提供的容錯能力在這方面也很有實際價值。

不適用于HDFS的場景

首先,HDFS不適用于對延遲要求較高的場景,如實時查詢。在延遲方面,HDFS沒有充分的優(yōu)勢。其次,HDFS也難以支持大量小文件的存儲。在Hadoop系統(tǒng)中,通常將“小文件”定義為遠小于HDFS的block size(默認64MB)的文件,由于每個文件都會產(chǎn)生各自的MetaData元數(shù)據(jù),Hadoop通過Namenode來存儲這些信息,若小文件過多,容易導(dǎo)致占用大量NameNode內(nèi)存,也會使尋道時間超過讀取時間,為系統(tǒng)帶來性能瓶頸。

此外,HDFS不支持多用戶寫入,也無法進行文件隨機修改。僅支持以append的方式,即通過追加的方式添加到文件結(jié)尾處。HDFS適用于存儲半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù),若有數(shù)據(jù)嚴格的結(jié)構(gòu)化特性,強行采用HDFS是不合適的。***,HDFS適用于TB、PB級的大數(shù)據(jù)處理,文件數(shù)量通常在百萬以上,如果數(shù)據(jù)量很小,完全沒有必要采用HDFS。

HDFS和Hadoop的歷史

這里簡要說一些關(guān)鍵的時間節(jié)點。2006年,Apache Hadoop項目正式啟動,HDFS和MapReduce開始獨立發(fā)展。該軟件開始廣泛應(yīng)用于各行各業(yè)的大數(shù)據(jù)分析項目中。2012年,HDFS和Hadoop版本1.0發(fā)布。

2013年Hadoop 2.0版本加入了通用YARN資源管理器,MapReduce和HDFS有效解耦。此后,Hadoop支持各種數(shù)據(jù)處理框架和文件系統(tǒng)。雖然MapReduce經(jīng)常被Apache Spark所替代,但HDFS仍然是Hadoop的一種流行的文件格式。

 

在發(fā)布了四個alpha版本和一個beta版本之后,Apache Hadoop 3.0.0在2017年12月開始普遍可用,HDFS增強支持額外的NameNode、擦除編碼工具和更大的數(shù)據(jù)壓縮。與此同時,HDFS工具,如LinkedIn的開源Dr. Elephant和Dynamometer 性能測試工具的進步,也使HDFS能夠支持更進一步的開發(fā)實現(xiàn)。

 

責任編輯:武曉燕 來源: IT168
相關(guān)推薦

2013-06-18 14:00:59

HDFS分布式文件系統(tǒng)

2013-01-07 10:29:31

大數(shù)據(jù)

2012-08-31 16:04:11

HDFS分布式文件系統(tǒng)

2012-07-20 14:40:22

2013-01-09 10:16:09

HDFS

2021-04-13 08:06:17

分布式HDFS存儲大型數(shù)據(jù)

2018-03-01 16:26:30

HDFSHadoop系統(tǒng)

2013-01-07 10:42:43

HDFS

2010-11-01 05:50:46

分布式文件系統(tǒng)

2012-05-10 14:04:07

分布式文件系統(tǒng)架構(gòu)

2013-06-18 16:58:12

HDFS分布式文件系統(tǒng)

2018-08-14 10:44:58

HadoopHDFS命令

2013-06-18 14:13:43

HDFS分布式文件系統(tǒng)

2013-06-18 14:33:13

HDFS分布式文件系統(tǒng)

2017-10-17 08:33:31

存儲系統(tǒng)分布式

2010-06-04 18:45:43

Hadoop分布式文件

2012-09-19 13:43:13

OpenAFS分布式文件系統(tǒng)

2012-09-19 15:05:24

MogileFS分布式文件系統(tǒng)

2010-11-15 13:24:07

分布式文件系統(tǒng)

2018-01-18 17:14:58

分布式文件系統(tǒng)FastDFS
點贊
收藏

51CTO技術(shù)棧公眾號