Hadoop学习之HDFS架构(一)
HDFS的全稱是Hadoop Distributed File System(Hadoop分布式文件系統(tǒng)),是受到Google的GFS(Google文件系統(tǒng))啟發(fā)而設(shè)計(jì)開發(fā)出來的運(yùn)行在商用主機(jī)上的分布式文件系統(tǒng)。最初HDFS是作為Nutch網(wǎng)絡(luò)搜索引擎項(xiàng)目的基礎(chǔ)結(jié)構(gòu)發(fā)展的(在Nutch2.x版本以前,搜索到的數(shù)據(jù)存儲(chǔ)在HDFS上,2.x版本中可以將數(shù)據(jù)存儲(chǔ)在諸如HBase等NoSQL中),現(xiàn)在是Hadoop的子項(xiàng)目。HDFS和現(xiàn)在使用中的分布式文件系統(tǒng)有很多相似之處,但也有顯著的不同之處。HDFS具有很高的容錯(cuò)性,被設(shè)計(jì)運(yùn)行在低成本的硬件之上,提供訪問應(yīng)用程序數(shù)據(jù)的高吞吐量,適用于擁有大數(shù)據(jù)集的應(yīng)用程序。HDFS放寬了一些POSIX要求以增強(qiáng)對文件系統(tǒng)數(shù)據(jù)的流訪問。
在了解了HDFS是如何發(fā)展起來之后,現(xiàn)在看看設(shè)計(jì)HDFS時(shí)的設(shè)想或者想要實(shí)現(xiàn)怎樣的目標(biāo)呢。
- 硬件故障。硬件故障屬于正常現(xiàn)象而不是異常,也就是說硬件故障是在物理硬件在持續(xù)工作了若干時(shí)間后出現(xiàn)的自然問題并非出自人為的或者設(shè)計(jì)上的問題,也是在所難免的。HDFS實(shí)例可能由成百上千臺服務(wù)器組成,每臺存儲(chǔ)了部分文件系統(tǒng)數(shù)據(jù)。實(shí)際情況中HDFS擁有巨大數(shù)量的組成部分,并且每個(gè)部分都有小概率的可能性發(fā)生故障,這就意味著在HDFS中有些部分總是不能正常工作的。因此,檢查錯(cuò)誤并且快速、自動(dòng)地恢復(fù)這些部分就是HDFS的核心架構(gòu)目標(biāo)。
- 流數(shù)據(jù)訪問。運(yùn)行在HDFS上的應(yīng)用程序需要以流方式讀取它們的數(shù)據(jù)集,這些應(yīng)用程序不是典型地運(yùn)行在通用文件系統(tǒng)上的通用應(yīng)用程序。HDFS被設(shè)計(jì)更多地用于批量處理而不是與用戶交互使用,重點(diǎn)是高吞吐量的數(shù)據(jù)讀取而不是低延遲的數(shù)據(jù)讀取。POSIX的一些硬性要求是運(yùn)行在HDFS上的應(yīng)用程序不需要的,HDFS放寬了這些要求,在一些關(guān)鍵領(lǐng)域POSIX語義用于增加數(shù)據(jù)吞吐率。
- 大數(shù)據(jù)集。運(yùn)行在HDFS上的應(yīng)用程序擁有大數(shù)據(jù)集,在HDFS上的典型文件大小從GB
總結(jié)
以上是生活随笔為你收集整理的Hadoop学习之HDFS架构(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop学习之以伪分布模式部署Had
- 下一篇: Hadoop学习之HDFS架构(二)