hadoop之 Hadoop1.x和Hadoop2.x構成對比

張衝andy發表於2017-10-16

 

Hadoop1.x構成: HDFS、MapReduce(資源管理和任務排程);執行時環境為JobTracker和TaskTracker;

Hadoop2.0構成:HDFS、MapReduce/其他計算框架、YARN; 執行時環境為YARN

  1、HDFS:HA、NameNode Federation

  2、MapReduce/其他計算框架:執行在YARN之上的MapReduce通常稱之為MapReduce2.0(MRv2)

  3、YARN:資源管理系統(Yet Another Resource Negotiator),在其之上可以執行各種計算框架,如:MapReduce、Storm、Spark等;

 

HDFS2.0

解決HDFS1.0中單點故障記憶體受限問題

解決單點故障: HDFS HA(High Available)

  透過主備NameNode,當主NameNode發生故障時則切換到備NameNode;

解決記憶體受限問題: HDFS Federation

  水平擴充套件,支援多個NameNode

  每個NameNode分管一部分目錄;不同的NameNode可以分管不同的應用;

  所有NameNode共享所有DataNode儲存的資源

 

HDFS2.0和HDFS1.0相比、僅是架構上發生了變化,使用方式不變,對HDFS使用者來說是透明的。比如說hdfs shell命令:

hadoop fs -ls /luogankun

hadoop fs -mkdir /luogankun/data

在HDFS1.0和HDFS2.0中用法是一致的。

 

YARN

Hadoop2.0新引入的資源管理系統

YARN核心思想:將MRv1中JobTracker的資源管理和任務排程分開,分別由ResourceManager和ApplicationMaster程式實現;

ResourceManager:負責整個叢集的資源管理;整個叢集只有一個;

ApplicationMaster:負責應用程式相關的事務,比如:任務排程、任務監控和任務容錯;一個應用程式對應一個ApplicationMaster;

 

YARN引入的好處:使得多個計算框架可以執行在一個叢集中,比如:MapReduce、Spark、Storm等;

 

MapReduce On YARN

執行在YARN之上的MapReduce稱為MRv2;

將MapReduce作業直接執行在YARN上,而不是執行在由JobTracker和TaskTracker構建的MRv1之上;在Hadoop2.0中並不存在JobTracker和TaskTracker;

MRv2的模組基本功能:

1、YARN:負責資源管理和排程;

2、MRAppMaster:負責一個應用程式/作業的任務切分、任務排程、任務監控和容錯;

3、Map/Reduce Task:任務驅動引擎,與MRv1一致;

 

每個應用程式/作業對應一個MRAppMaster,所以:

1、單個應用程式/作業執行失敗,不會影響其他應用程式/作業;

2、負責應用程式/作業相關的事務,包括將從YARN分配得到的資源二次分配給內部的任務、任務切分、任務健康和容錯等;

source : http://www.cnblogs.com/luogankun/p/3886989.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31383567/viewspace-2146038/,如需轉載,請註明出處,否則將追究法律責任。

相關文章