YARN集群的架构和⼯作原理知道多少

提问者:帅平 问题分类:面试刷题
YARN集群的架构和⼯作原理知道多少
1 个回答
我是蓝天
我是蓝天
YARN的基本设计思想是将MapReduce V1中的JobTracker拆分为两个独⽴的服务:ResourceManager和ApplicationMaster。
ResourceManager负责整个系统的资源管理和分配,ApplicationMaster负责单个应⽤程序的的管理。
1. ResourceManager:RM是⼀个全局的资源管理器,负责整个系统的资源管理和分配,它主要由两个部分组成:调度器(Scheduler)和应⽤程序管理器(Application Manager)。调度器根据容量、队列等限制条件,将系统中的资源分配给正在运⾏的应⽤程序,在保证容量、公平性和服务等级的前提下,优化集群资源利⽤率,让所有的资源都被充分利⽤应⽤程序管理器负责管理整个系统中的所有的应⽤程序,包括应⽤程序的提交、与调度器协商资源以启动ApplicationMaster、监控ApplicationMaster运⾏状态并在失败时重启它。
2. ApplicationMaster:⽤户提交的⼀个应⽤程序会对应于⼀个ApplicationMaster,它的主要功能有:
1、与RM调度器协商以获得资源,资源以Container表示。
2、将得到的任务进⼀步分配给内部的任务。
3、与NM通信以启动/停⽌任务。
4、监控所有的内部任务状态,并在任务运⾏失败的时候重新为任务申请资源以重启任务。

3. NodeManager:NodeManager是每个节点上的资源和任务管理器,⼀⽅⾯,它会定期地向RM汇报本节点上的资源使⽤情况和各个Container的运⾏状态;另⼀⽅⾯,他接收并处理来⾃AM的Container启动和停⽌请求。
4. Container:Container是YARN中的资源抽象,封装了各种资源。⼀个应⽤程序会分配⼀个Container,这个应⽤程序只能使⽤这个Container中描述的资源。不同于MapReduceV1中槽位slot的资源封装,Container是⼀个动态资源的划分单位,更能充分利⽤资源。
发布于:1年前 (2023-02-16) IP属地:四川省
我来回答