Yarn是Hadoop的资源管理器,它是一个通用的资源管理系统,为上层应用提供统一的资源管理和调度,这里展示一张YARN的官方架构图,各位可以看一下。

 

 

 接下来让我们看看架构图中出现的概念

 Container(容器)是YARN中的资源抽象,它封装了某个节点上的多维度资源。YARN会为每个任务分配Container。

ResoureManager(资源管理器)负责整个系统的资源分配和管理,是一个全局资源管理器,主要有两个组件构成:调度器(Scheduler)和应用程序管理器(ApplicationManager)

NodeManager(节点管理器)是每个节点上的资源和任务管理器。它定时向ResoureManager汇报本节点上的资源使用情况和各个Container的运行状态,接受并处理来自ApplicationManager的Container启动/停止等请求

ApplicationManager(主应用),用户提交的每个应用程序均包含一个AM,应用程序里的“老大”,其主要功能包括以下三点:负责程序内部各阶段的资源申请,监督程序的执行情况,与NodeManager协同工作完成任务的执行和监控。

程序提交YARN的交互流程

 

这张是YARN程序提交时的交互流程

 

 接下来让我们看一下YARN资源调度器Scheduler

 

 第一个看看FIFO Scheduler

 

 

 第二个是Capacity Scheduler

 

第三个是Fair Scheduler

 

 

版权声明:本文为feng-233原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/feng-233/p/16795388.html