在集群部署方面,Yarn的各个组件是和Hadoop集群中的其他组件进行同一部署的。如图:YARN的ResourceManager组件和HDFS的名称节点(NameNode)部署在一个节点上,YARN的ApplicationMaster及NameNode是和HDFS的和数据节点(DataNosde)部署在一起的。YARN中的容器(动态资源分配单位)代表了CPU、内存、磁盘、网络等计算资源,可限定每个应用程序使用的资源量。
了解yarn的工作流程,先了解一下yarn的组件
吧~
简述哟:
组件 | 功能 |
---|---|
ResourceManager | 处理客户端请求、启动/监控ApplicationMaster、监控NodeManager、资源分配与调度 |
ApplicationMaster | 为应用程序申请资源,并分配给内部任务、任务的调度,监控与容错 |
NodeManager | 单个节点上的资源管理、处理ResourceManager的命令、处理来自ApplicationMaster的命令 |
详细解释(了解):
-
ResourceManager(RM)
:全局资源管理器,负责整个系统的资源管理和分配,两个主要组件:调度器Scheduler(S)
和应用程序管理器Application Manager(ASM
)
调度器:负责资源管理和分配。调度器接受ApplicationMaster测应用程序资源请求,并根据容量、队列等限制条件,把集群中的资源以“容器”的形式分配给提出申请的应用程序,容器的选择通常会考虑应用程序所要处理的数据的位置,进行就近选择。
应用程序管理器:负责所有应用程序的管理工作,包括:应用程序提交、与调度器协商资源以启动ApplicationMaster、负责跟踪和监控应用程序(ApplicationMaster)的运行状态并在失败时重新启动
RM接受用户提交的作业,按照作业的上下文信息以及从NodeManager收集来的容器状态信息,启动调度过程,为用户启动一个ApplicationMaster。 -
ApplicationMaster:(1)当用户作业提交时,ApplicationMaster与RM协商获取资源,RM会以容器