赞
踩
Yet Another Resource Negotiator,YARN, 另一种资源协调者。是Hadoop的一个通用的资源管理系统。
在下一代MapReduce(MRv2)中,包含:
由于YARN通用性,可以作为其他计算框架的资源管理系统,如:Spark、Flink,(MapReduce on YARN、Spark on YARN、Flink on YARN)。
负责整个系统的资源管理和调度,是YARN主从架构的主节点。由资源调度器(ResourceScheduler) 和全局应用程序管理器(ApplicationManager) 组成。
资源调度器是一个可插拔的组件,用户可根据自己需要设计资新的源调度器,YARN提供多个可直接使用的资源调度器。资源调度器将系统中的资源分配给正在运行的程序,不负责监控或跟踪应用的执行状态,不负责重启失败的任务。
常见的资源调度器:FIFO调度器(先进先出)、Capacity调度器(容量调度器)、Fair调度器(公平调度器)
如果需要先提交的Job先执行,使用FIFO调度器。如果所有的Job都有机会获得资源,采用Capacity调度器和Fair调度器。
负责系统中所有应用程序的管理,包括:
1)应用程序的提交;
2)资源调度器协商资源来启动应用程序管理器;
3)监控应用程序管理器的运行状态,并在失败时发出通知。
*具体的任务交由应用程序管理器(ApplicationMaster),全局应用程序管理器(ApplicationManager)相当于一个项目经理
用户提交的每一个应用程序都包含一个应用程序管理器,应用程序管理器存在节点中。其负责:
1)与资源管理器 (ResourceMangaer)协商获取资源,并将资源分配给内部具体的任务;
2)与节点管理器 (NodeManager)通讯,以启动/停止具体的任务;
3)监控应用程序所有任务的运行状态,当任务失败时,重新为任务申请资源并重启任务。
节点管理器是YARN主从架构的从节点,是作业运行的执行者 .
1)是每一个节点上的资源和任务管理器,定时向资源管理器汇报本节点的资源使用情况和各个容器的运行状态;
2)接收、处理应用程序管理器的容器启动和停止等请求。
容器是资源的抽象,封装了节点的多维度资源,如内存、CPU、磁盘、网络。当应用程序管理器向资源管理器申请资源时,资源管理器返回的资源是一个容器。该任务只能使用该容器所封装的资源,容器根据应用程序需求,动态生成。
YARN的HA主要是指资源管理器的HA。
与HDFS类似,YARN的单点故障采用主备切换的方式完成。但,正常情况下,YARN备份节点不会同步主节点的信息,只有主备切换之后,才会从共享储存系统读取所需的信息。(原因:资源管理器保存的信息非常少,且信息动态变化,大部分可以重构,原有信息很快就变旧,没有同步必要)。
YARN直接以来Zookeeper的储存功能完成主备节点的信息共享。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。