资源调度框架Yarn

1.Yarn产生背景

(1)MapReduce1.X存在的问题,主节点承担风险。

(2)资源利用率和运维成本,多种集群无法整合,导致资源利用率和运维成本高。

集群内的所有资源管理,全部又YARN完成。

资源调度框架Yarn_第1张图片

2.YARN的架构

资源调度框架Yarn_第2张图片

(1)由一个Resource Manager和N个Node Manager构成。

一个集群active状态的Resource Manager只有一个,负责整个集群的资源管理和调度。

它可以:1)处理客户端的请求;2)启动/监控App Mstr(一个作业对应一个App Mstr);3)通过心跳监控Node Mangaer;4)系统的资源分配和调度


整个集群有N个Node Manager,它负责单个节点的资源管理和使用以及task的运行情况。

它可以:1)定期向Resource Manager汇报本节点的资源使用请求和各个Container的运行状态;2)接收并处理Resource Manager的container启停的各种命令;3)单个节点的资源管理和任务管理


每个应用/作业对应一个App Mstr,负责应用程序的管理。

它可以:1)数据的切分;2)为应用程序向Resource Manager申请资源(container),并分配给内部任务;3)与Node Manager通信以启停task,task是运行在container中的;4)task的监控和容错。


Container是对任务运行情况的描述:cpu、memory、环境变量等。

(2)Yarn的执行流程

1)用户向Yarn提交作业;2)Resource Manager为该作业分配第一个container(App Mstr);3)Resource Manager会与对应的Node Manager通信,要求Node Manager在这个container上启动应用程序的App Mstr;4)App Mstr首先向Resource Manager注册,然后App Mstr将为各个task申请资源,并监控运行情况;5)App Mstr采用轮询的方式通过RPC协议向Resource Manager申请和领取资源;6)App Mstr申请到资源以后,便和相应的Node Manager通信,要求Node Manager启动任务;7)Node Manager启动我们作业的task。

资源调度框架Yarn_第3张图片

你可能感兴趣的:(基础知识,Yarn)