- Hadoop 3實(shí)戰(zhàn)指南
- 孫志偉
- 903字
- 2021-06-15 16:02:45
1.1.2 Hadoop 2.0
隨著Hadoop的影響力逐步擴(kuò)大,其集群規(guī)模得到了迅猛增長,一些弊端就隨之暴露出來了,此時(shí)Hadoop 2.0應(yīng)運(yùn)而生。Hadoop 2.0使Hadoop迎來了第一次質(zhì)的飛躍,它不僅在穩(wěn)定性上有了較好的支持,在擴(kuò)展性上也有了較大的改善,能夠輕松應(yīng)對(duì)上千節(jié)點(diǎn)的規(guī)模。接下來,我們介紹一下Hadoop 2.0的相關(guān)組件。
Hadoop 2.0對(duì)Hadoop 1.0中的每個(gè)組件都進(jìn)行了升級(jí)擴(kuò)展。先來看HDFS,它的整體架構(gòu)并沒有太大的改變,其新增的特性為HA(高可用)和Federation(聯(lián)邦模式),這兩個(gè)特性主要集中在NameNode中。
在Hadoop 2.0中,支持用兩個(gè)NameNode提供HA功能,這兩個(gè)NameNode分別為Active NameNode和Standby NameNode,前者負(fù)責(zé)對(duì)外提供服務(wù),后者則作為前者的熱備節(jié)點(diǎn),它們通過一個(gè)共享的存儲(chǔ)結(jié)構(gòu)——通常是QJM(Quorum Journal Manager)實(shí)現(xiàn)數(shù)據(jù)同步。Active NameNode會(huì)將操作日志實(shí)時(shí)寫入QJM中,Standby NameNode則會(huì)從QJM中實(shí)時(shí)拉取操作日志進(jìn)行操作回放,并定期生成集群的狀態(tài)快照,然后同步給Active NameNode。此時(shí)因?yàn)锳ctive NameNode和Standby NameNode的數(shù)據(jù)是實(shí)時(shí)同步的,所以當(dāng)Active NameNode發(fā)生故障無法提供服務(wù)時(shí),Standby NameNode就能快速進(jìn)行狀態(tài)轉(zhuǎn)換,變?yōu)锳ctive NameNode對(duì)外提供服務(wù),從而實(shí)現(xiàn)故障轉(zhuǎn)移,增強(qiáng)NameNode的可用性。
雖然NameNode的穩(wěn)定性通過HA得到了增強(qiáng),但是隨著集群規(guī)模的擴(kuò)大,NameNode的內(nèi)存逐漸成為影響其擴(kuò)容的主要因素,而Federation為其提供了橫向擴(kuò)展的能力。在Federation中,一個(gè)大HDFS集群會(huì)被分為N個(gè)小HDFS集群,這些小集群既可以共享DataNode的存儲(chǔ)空間,也可以對(duì)其進(jìn)行物理隔離。viewfs負(fù)責(zé)提供N個(gè)小集群的整體視圖,對(duì)普通用戶屏蔽內(nèi)部架構(gòu)細(xì)節(jié),這樣也方便集群管理員管理集群。Federation的整體架構(gòu)如圖1-3所示。
Hadoop 2.0的另一個(gè)亮點(diǎn)是將Hadoop 1.0中的MapReduce拆分為兩個(gè)組件:一個(gè)組件專注于分布式計(jì)算,依然以MapReduce命名;另一個(gè)組件專注于資源管理,命名為YARN,具體內(nèi)容詳見第3章。

圖1-3 Federation的整體架構(gòu)
任何系統(tǒng)都處在不斷迭代的過程中,并且在迭代中會(huì)解決一些瓶頸問題,而隨著使用場景的不斷擴(kuò)大,又會(huì)出現(xiàn)新的瓶頸。Hadoop也不例外,雖然Hadoop 2.0解決了很多問題,使其性能得以提升、集群規(guī)模得以擴(kuò)大,但是在擴(kuò)大的過程中,精益求精的工程師們又發(fā)現(xiàn)了新的瓶頸,例如HDFS雖然在Federation下能夠橫向擴(kuò)展,但是其使用方式并不利于維護(hù),而且數(shù)據(jù)冗余存儲(chǔ)的方式在大規(guī)模集群中暴露出了存儲(chǔ)資源利用不足的問題。再者就是HDFS的橫向擴(kuò)展導(dǎo)致在集群達(dá)到一定規(guī)模時(shí),ResourceManager對(duì)資源的調(diào)度成了新的瓶頸。為了解決這些問題,Hadoop 3.0問世了。
- 同步:秩序如何從混沌中涌現(xiàn)
- 數(shù)據(jù)庫基礎(chǔ)教程(SQL Server平臺(tái))
- Redis使用手冊(cè)
- 數(shù)據(jù)分析實(shí)戰(zhàn):基于EXCEL和SPSS系列工具的實(shí)踐
- Redis應(yīng)用實(shí)例
- 數(shù)據(jù)結(jié)構(gòu)與算法(C語言版)
- 大話Oracle Grid:云時(shí)代的RAC
- Remote Usability Testing
- Splunk智能運(yùn)維實(shí)戰(zhàn)
- SQL Server深入詳解
- 計(jì)算機(jī)組裝與維護(hù)(微課版)
- Delphi High Performance
- Oracle 內(nèi)核技術(shù)揭密
- 深入理解Flink:實(shí)時(shí)大數(shù)據(jù)處理實(shí)踐
- 數(shù)據(jù)庫技術(shù)與應(yīng)用:SQL Server 2008