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

相关文章
相关标签/搜索