Hadoop日記——Hadoop2.x介紹

Haddop2.x在1.x基礎(chǔ)上做了很多的改進,主要增加和改進了4個部分:HAFederationYARN,MapReduce On YARN

1. HA

Hadoop中的NameNode好比是人的心臟,絕對不可以停止工作。在Hadoop1.x時代,只有一個NameNode。如果該NameNode數(shù)據(jù)丟失或者不能工作,那么整個集群就不能恢復(fù)了。這是Hadoop1.x中的單點問題,也是Hadoop1.x不可靠的表現(xiàn)Hadoop2的出現(xiàn)解決了這個問題,也被稱為HA。Hadoop2.x中HDFS的HA主要指的是可以同時啟動2個NameNode。其中一個處于工作(Active)狀態(tài),另一個處于隨時待命(Standby)狀態(tài)。這樣,當(dāng)一個NameNode所在的服務(wù)器宕機時,可以在數(shù)據(jù)不丟失的情況下,手工或者自動切換到另一個NameNode提供服務(wù)。如圖所示

這里寫圖片描述

HA主要有以下特點:

  • 主備NameNode
  • 解決單點故障
    • 主NameNode對外提供服務(wù),備NameNode同步主NameNode元數(shù)據(jù),以待切換
    • 所有DataNode同時向兩個NameNode匯報數(shù)據(jù)塊信息
  • 兩種切換方式
  • 基于Zookeeper自動切換方案
    • ZookeeperFailoverController:監(jiān)控NameNode健康狀態(tài),并向Zookeeper注冊NameNode
    • NameNode怪調(diào)后,ZKFC為NameNode競爭所,獲得ZKFC所的NameNode變?yōu)閍ctive

2.Federation

單Active NN的架構(gòu)使得HDFS在集群擴展性和性能上都有潛在的問題,當(dāng)集群大到一定程度后,NN進程使用的內(nèi)存可能會達到上百G,NN成為了性能的瓶頸
為了解決這個問題,Hadoop 2.x提供了HDFS Federation, 示意圖如下

這里寫圖片描述

Federation主要有以下特點:

  • 通過多個NameNode/NameSpace把元數(shù)據(jù)的儲存和管理分散到多個節(jié)點中,使到NameNode/NameSpace可以把通過增加機器來進行水平擴展
  • 能把單個NameNode的負載分散到多個節(jié)點,在HDFS數(shù)據(jù)規(guī)模較大的時候不會也降低HDFS的性能??梢酝ㄟ^多個NameSpace來隔離不同類型的應(yīng)用,把不同類型應(yīng)用的HDFS元數(shù)據(jù)的儲存和管理分派到不同的NameNode中

3.YARN

YARN:Yet Another Resource negotiator

  • Hadoop2.0新引入的資源管理系統(tǒng),直接從MRv1演化而來的;
    • 核心思想:將MRv1中JobTracker的資源管理和任務(wù)調(diào)度兩個功能分開,分別由ResourceManager和ApplicationMaster進程實現(xiàn)
    • ResourceManager:負責(zé)整個集群的資源管理和調(diào)度
    • ApplicationMaster:負責(zé)應(yīng)用程序相關(guān)的事務(wù),比如任務(wù)調(diào)度、任務(wù)監(jiān)控和容錯等
  • YARN的引入,使得多個計算框架可運行在一個集群中
    • 每個應(yīng)用程序?qū)?yīng)一個ApplicationMaster
    • 目前多個計算框架可以運行在YARN上,比如MapReduce、Spark、Storm等

4.MapReduce On YARN

MapReduce On YARN:MRv2

  • MapReduce作業(yè)直接運行在YARN上,而不是由JobTracker和TaskTracker構(gòu)建MRv1系統(tǒng)中
  • 基本功能模塊:
    • YARN:負責(zé)資源管理和調(diào)度
    • MRAppMaster:負責(zé)任務(wù)切分、任務(wù)迪奧五、任務(wù)監(jiān)控和容錯等
    • MapTask/ReduceTask:任務(wù)驅(qū)動引擎,與MRv1一直
  • 每個MapReduce作業(yè)對應(yīng)一個MRAppMaster
    • MRAppMaster任務(wù)調(diào)度
    • YARN將資源分配給MRAppMaster
    • MRAppMaster進一步將資源分配給內(nèi)部任務(wù)
  • MRAppMaster容錯
    • 失敗后,由YARN重新啟動
    • 任務(wù)失敗后,MRAppMaster重新申請資源
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容