上QQ阅读APP看书,第一时间看更新
2.4.2 资源管理与调度层
资源管理与调度层主要用于将MapReduce、Spark中的资源管理与调度等基础工作独立出来,使MapReduce计算层更专注于信息资源的碎片化处理与集成处理。资源管理与调度层可以采用YARN等资源管理器。
YARN(Yet Another Resource Negotiator)是Hadoop 2.0中的资源管理系统,处于YARN应用的计算层。该层位于存储层(HDFS和HBase)之上,而应用层(MapReduce、Spark和Tez等)之下,是上层应用和下层存储之间的重要桥梁,如图2-14所示。
图2-14 YARN应用
YARN的基本处理流程如图2-15所示,主要由Application Master(AM)、Resource Manager(RM)、Node Manager(NM)和Container等几个角色组成。AM负责应用程序的管理,RM负责整个系统的资源管理,NM负责管理每个节点的资源和任务,Container封装了节点上的各种计算资源。
图2-15 YARN的数据处理流程
YARN是一个通用的资源管理系统,其应用不仅限于MapReduce,而且还可以用于其他计算框架,例如Spark、Tez和Storm等。YARN的这一特征也体现了不同计算框架相互融合的趋势。