更新時(shí)間:2023年07月04日16時(shí)53分 來(lái)源:傳智教育 瀏覽次數(shù):
HDFS(Hadoop Distributed File System ),意為:Hadoop分布式文件系統(tǒng)。 是Apache Hadoop核心組件之一,HDFS是一種能夠在普通硬件上運(yùn)行的分布式文件系統(tǒng),它是高度容錯(cuò)的,適應(yīng)于具有大數(shù)據(jù)集的應(yīng)用程序,它非常適于存儲(chǔ)大型數(shù)據(jù) (比如 TB 和 PB)。 HDFS使用多臺(tái)計(jì)算機(jī)存儲(chǔ)文件, 并且提供統(tǒng)一的訪問(wèn)接口, 像是訪問(wèn)一個(gè)普通文件系統(tǒng)一樣使用分布式文件系統(tǒng)。
2003年的時(shí)候, Google 發(fā)表的論文為該問(wèn)題提供了可行的解決方案?!斗植际轿募到y(tǒng)(GFS),可用于處理海量網(wǎng)頁(yè)的存儲(chǔ)》。Nutch的開發(fā)人員完成了相應(yīng)的開源實(shí)現(xiàn)HDFS,并從Nutch中剝離和MapReduce成為獨(dú)立項(xiàng)目HADOOP。
硬件故障(Hardware Failure)是常態(tài), HDFS可能有成百上千的服務(wù)器組成,每一個(gè)組件都有可能出現(xiàn)故障。因此故障檢測(cè)和自動(dòng)快速恢復(fù)是HDFS的核心架構(gòu)目標(biāo)。HDFS上的應(yīng)用主要是以流式讀取數(shù)據(jù)(Streaming Data Access)。HDFS被設(shè)計(jì)成用于批處理,而不是用戶交互式的。相較于數(shù)據(jù)訪問(wèn)的反應(yīng)時(shí)間,更注重?cái)?shù)據(jù)訪問(wèn)的高吞吐量。
典型的HDFS文件大小是GB到TB的級(jí)別。所以,HDFS被調(diào)整成支持大文件(Large Data Sets)。它應(yīng)該提供很高的聚合數(shù)據(jù)帶寬,一個(gè)集群中支持?jǐn)?shù)百個(gè)節(jié)點(diǎn),一個(gè)集群中還應(yīng)該支持千萬(wàn)級(jí)別的文件。
大部分HDFS應(yīng)用對(duì)文件要求的是write-one-read-many訪問(wèn)模型。一個(gè)文件一旦創(chuàng)建、寫入、關(guān)閉之后就不需要修改了。這一假設(shè)簡(jiǎn)化了數(shù)據(jù)一致性問(wèn)題,使高吞吐量的數(shù)據(jù)訪問(wèn)成為可能。
移動(dòng)計(jì)算的代價(jià)比之移動(dòng)數(shù)據(jù)的代價(jià)低。一個(gè)應(yīng)用請(qǐng)求的計(jì)算,離它操作的數(shù)據(jù)越近就越高效。將計(jì)算移動(dòng)到數(shù)據(jù)附近,比之將數(shù)據(jù)移動(dòng)到應(yīng)用所在顯然更好。
HDFS被設(shè)計(jì)為可從一個(gè)平臺(tái)輕松移植到另一個(gè)平臺(tái)。這有助于將HDFS廣泛用作大量應(yīng)用程序的首選平臺(tái)。
HDFS存儲(chǔ)非常大的文件,比如成百上千MB、GB,甚至TB級(jí)別的文件, 一次寫入多次讀取,可以做到低成本部署,可以運(yùn)行在廉價(jià)PC設(shè)備上,不需要特別高的配置。
HDFS存儲(chǔ)非常大的文件,比如成百上千MB、GB,甚至TB級(jí)別的文件, 一次寫入多次讀取,可以做到低成本部署,可以運(yùn)行在廉價(jià)PC設(shè)備上,不需要特別高的配置。
但不適合大量小文件,不支持頻繁任意修改。延時(shí)要求在毫秒級(jí)別的應(yīng)用,不適合采用 HDFS,HDFS是為高吞吐數(shù)據(jù)傳輸設(shè)計(jì)的,延時(shí)較高。
北京校區(qū)