一·描述YARN的架构
概述
YARN是一个资源管理、任务调度的框架,主要包含三大模块:ResourceManager(RM)、NodeManager(NM)、ApplicationMaster(AM)。其中,ResourceManager是Master上一个独立运行的进程,负责集群统一的资源管理、调度、分配等等;NodeManager是Slave上一个独立运行的进程,负责上报节点的状态;App Master和Container是运行在Slave上的组件,Container是yarn中分配资源的一个单位,包涵内存、CPU等等资源,yarn以Container为单位分配资源。。而每个AM则会和RM协商资源,同时和NodeManager通信来执行和监控task。
Client客户端把所需的请求提交给RM,RM根据机群的使用情况去找NM,然后启动AM,AM启动后告诉RM并根据需求让RM分配资源.得到分配权力后AM通知NM使其分配出Container(为作业提供的一个场所)来进行资源的管理。
二·描述YARN的运行流程
当用户向YARN中提交一个应用程序后,YARN将分两个阶段运行该应用程序:第一个阶段是启动ApplicationMaster;第二个阶段是由ApplicationMaster创建应用程序,为它申请资源,并监控它的整个运行过程,直到运行完成。