YARN或將成爲Hadoop新發力點

Yahoo!最初開發Hadoop,是爲了用於搜索和索引Web網頁,目前不少的搜索服務都是基於這個框架的,可是Hadoop從本質上來講還只是一個解決方案。2013年的Hadoop峯會上,YARN是一個熱點話題。三年的醞釀,YARN本質上是Hadoop的操做系統,突破了MapReduce框架的性能瓶頸。 html

Murthy所說的其它類型的應用程序包括:機器學習,圖像分析,流分析和互動查詢功能等。一旦YARN全面投入使用,開發者將能經過YARN「操做系統」將存儲在HDFS中的數據用於這些應用程序。Hive就是由Facebook開發的HDFS上層的SQL類型的數據倉庫工具,可是後臺的數據處理還要經過MapReduce。Hive很消耗資源,會影響其它同時運行的做業。其它Hadoop相關的數據分析子項目也都是相似的狀況。 apache

YARN是一個真正的Hadoop資源管理器,容許多個應用程序同時、高效地運行在一個的集羣上。有了YARN,Hadoop將是一個真正的多應用程序平臺,可服務於整個企業。Murthy表示經過YARN能夠以一種史無前例的方式與數據交互,YARN已經被用於Hortonworks的數據平臺,Hadoop和YARN的組合是企業大數據平臺致勝的關鍵。 網絡

MapReduce2.0——YARN的基本架構 架構

MapReduce在Hadoop 0.23時已經經歷了一次大規模更新,新版本的MapReduce2.0被稱爲YARN或MRv2。 框架

 

YARN的基本思想是將JobTracker的兩個主要功能(資源管理和做業調度/監控)分離,主要方法是建立一個全局的ResourceManager(RM)和若干個針對應用程序的ApplicationMaster(AM)。這裏的應用程序是指傳統的MapReduce做業或做業的DAG(有向無環圖)。 機器學習

  • ResourceManager和每一個slave結點的NodeManager(NM)構成了數據計算框架。ResourceManager負責最終將資源分配到各個應用程序。NodeManager是每臺機器的框架代理,負責管理容器,監控它們的資源使用狀況(CPU,內存,硬盤,網絡),同時向ResourceManager/Scheduler彙報。
  • 針對各個應用程序的ApplicationMaster其實是一個詳細的框架庫,它結合從 ResourceManager 得到的資源和NodeManager 協同工做來運行和監控任務。ApplicationMaster同時負責向Scheduler請求適當的資源容器,跟蹤它們的使用狀態並監控其進展。

ResourceManager中有兩個主要組件:Scheduler和ApplicationsManager。 工具

  • Scheduler負責給應用程序分配資源。Scheduler從某種意義上說是一種純粹的調度,它不監控和跟蹤應用程序的狀態,另外它也不負責重啓應用程序或者硬件故障形成的失敗。Scheduler根據應用程序的資源需求執行調度,這些需求基於一個抽象的資源概念Container,包括內存、CPU、硬盤和網絡等。
  • ApplicationsManager負責接收做業提交,將應用程序分配給具體的ApplicationMaster,並負責重啓失敗的ApplicationMaster。

YARN在接口上兼容於此前的穩定版本(Hadoop 0.20.205),這意味着之前的MapReduce做業從新編譯後就能夠在YARN下運行。(編譯/周小璐,審校/仲浩) oop

相關文章
相關標籤/搜索