首頁技術(shù)文章正文

HDFS分布式文件系統(tǒng)的優(yōu)點缺點有哪些?

更新時間:2020-12-16 來源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif

  隨著互聯(lián)網(wǎng)數(shù)據(jù)規(guī)模的不斷增大,對文件存儲系統(tǒng)提出了更高的要求,需要更大的容量、更好的性能以及安全性更高的文件存儲系統(tǒng),與傳統(tǒng)分布式文件系統(tǒng)一樣,HDFS分布式文件系統(tǒng)也是通過計算機網(wǎng)絡(luò)與節(jié)點相連,但也有傳統(tǒng)分布式文件系統(tǒng)的優(yōu)點和缺點。

  優(yōu)點

  (1)高容錯

  HDFS是可以由成百上千臺服務(wù)器機器組成,每個服務(wù)器機器存儲文件系統(tǒng)數(shù)據(jù)的一部分。HDFS中的副本機制會自動把數(shù)據(jù)保存多個副本,DataNode節(jié)點周期性地向NameNode發(fā)送心跳信號,當(dāng)網(wǎng)絡(luò)發(fā)生異常,可能導(dǎo)致DataNode與NameNode失去通訊,NameNode和DataNode通過心跳檢測機制,發(fā)現(xiàn)DataNode宕機,DataNode中副本丟失,HDFS則會從其他DataNode上面的副本自動恢復(fù),所以HDFS具有高的容錯性。

  (2)流式數(shù)據(jù)訪問

  HDFS的數(shù)據(jù)處理規(guī)模比較大,應(yīng)用程序一次需要訪問大量的數(shù)據(jù),同時這些應(yīng)用程序一般都是批量的處理數(shù)據(jù),而不是用戶交互式處理,所以應(yīng)用程序能以流的形式訪問數(shù)據(jù)集,請求訪問整個數(shù)據(jù)集要比訪問一條記錄更加高效。

  (3)支持超大文件

  HDFS分布式文件系統(tǒng)具有很大的數(shù)據(jù)集,旨在可靠的大型集群上存儲超大型文件(GB、TB、PB級別的數(shù)據(jù)),它將每個文件切分成多個小的數(shù)據(jù)塊進行存儲,除了最后一個數(shù)據(jù)塊之外的所有數(shù)據(jù)塊大小都相同,塊的大小可以在指定的配置文件中進行修改,在Hadoop2.x版本中默認(rèn)大小是128M。

  (4)高數(shù)據(jù)吞吐量

  HDFS采用的是“一次寫入,多次讀取”這種簡單的數(shù)據(jù)一致性模型,在HDFS中,一個文件一旦經(jīng)過創(chuàng)建、寫入、關(guān)閉后,一旦寫入就不能進行修改了,只能進行追加,這樣保證了數(shù)據(jù)的一致性,也有利于提高吞吐量。

  (5)可構(gòu)建在廉價的機器上

  Hadoop的設(shè)計對硬件要求低,無需構(gòu)建在昂貴的高可用性機器上,因為在HDFS設(shè)計中充分考慮到了數(shù)據(jù)的可靠性、安全性和高可用性。

  缺點

  (1)高延遲

  HDFS不適用于低延遲數(shù)據(jù)訪問的場景,例如:毫秒級實時查詢。

  (2)不適合小文件存取場景

  對于Hadoop系統(tǒng),小文件通常定義為遠(yuǎn)小于HDFS的數(shù)據(jù)塊大小(128MB)的文件,由于每個文件都會產(chǎn)生各自的元數(shù)據(jù),Hadoop通過NameNode來存儲這些信息,若小文件過多,容易導(dǎo)致NameNode存儲出現(xiàn)瓶頸。

  (3)不適合并發(fā)寫入

  HDFS目前不支持并發(fā)多用戶的寫操作,寫操作只能在文件末尾追加數(shù)據(jù)。



猜你喜歡:

什么是數(shù)據(jù)倉庫?Hive數(shù)據(jù)倉庫特點簡介

Linux系統(tǒng)如何配置虛擬機網(wǎng)絡(luò)?

黑馬程序員大數(shù)據(jù)培訓(xùn)課程 

分享到:
在線咨詢 我要報名
和我們在線交談!