Yarn
1. Yarn的主要组件
- ResourceManager:
负责处理客户端请求,对个NM上的资源进行统一管理和调度,给ApplicationMaster分配空闲的Container运行并监控其运行状态。主要由调度器和应用程序管理器组成
1)调度器(scheduler):根据应用程序的资源要求以及集群机器的资源状况,为应用程序分配封装在Container中的资源。
2)应用程序管理器(ApplicationManager):负责整个系统中所有的应用程序,启动APPMAster,监控APPMaster运行状况,跟踪分给的Container的进度与状态 - NodeManager:
是每个节点上的资源和任务管理器,定时向ResourManager汇报本节点的资源使用情况和各个Container的运行状态。接受来自APPMaster的请求 - ApplicationMasteer:
用户提交的应用程序均包含一个APPMaster,负责应用的监控和状态的跟踪,向ResourceManager协调资源,与nodemanager协同执行和监控Task - Container:
Yarn中的资源抽象,封装了某个节点上的多维度资源
2. 工作流程
client向ResourceManager提交需求,APPManager处理
APPManager为请求分配资源提供一个Containers给Resource schedule
Resource schedule将任务分给APPMaster
APPMaster将任务分成MapTask和ReduceTask,然后分配给NodeManager
NodeManager任务执行成功后,把成功信息发给APPManager和APPMaster,APPManager进行资源回收

YARN是Hadoop的资源管理系统,主要由ResourceManager、NodeManager、ApplicationMaster和Container组成。ResourceManager负责全局资源调度,调度器分配Container,应用程序管理器启动APPMaster。NodeManager管理节点资源,向ResourceManager报告。ApplicationMaster协调资源,与NodeManager执行和监控任务。工作流程中,客户端提交需求给ResourceManager,APPManager分配Container,ResourceScheduler调度任务给APPMaster,再由APPMaster将任务分配给NodeManager执行。
4005

被折叠的 条评论
为什么被折叠?



