资源调度框架YARN简述

YARN的产生背景(通俗讲就是需要在不同时间使用不同的工具来处理数据,需要一个工具来调度,这个工具就是yarn):

资源调度框架YARN简述_第1张图片

资源调度框架YARN简述_第2张图片

YARN的架构:

资源调度框架YARN简述_第3张图片

重要的组件介绍:

1)resource manager(RM):

整个集群同一时间提供服务的RM只有一个(公司中会有一个备用的),负责集群资源的统一管理

处理客户端(client)的请求:提交一个作业、杀死一个作业

监控NM,一旦NM节点挂掉,上面运行的任务如何处理要告诉AM来如何进行处理

2)nodermanager(NM):

整个集群中有多个,负责单节点的资源管理和使用

定时的向RM汇报本节点的资源使用情况

接受并处理来自RM的各种命令:启动container(跑任务的工具)

处理AM的命令

自己节点的资源管理

3)applicationmaster(AM):

每个应用程序对应一个:如MR、Spark,负责应用程序的管理

为应用程序向RM申请资源(core、memory),分配给内部的task

需要与NM通信:启动/停止task,task运行在container中,AM也运行在container中

4)container: 

封装了CPU、内存等资源的一个容器

是一个任务运行环境的抽象

5)client:

提交作业、查看作业的运行进度、杀死作业

资源调度框架YARN简述_第4张图片

1.客户端提交一个任务给RM

2.RM先通信给一个NM

3.启动container用来运行AM

4.AM运行后注册到RM上申请资源,(客户端可以通过RM看到任务,然后将整个作业需要的资源发送给AM)

5.AM将资源信息发送给对应的NM,然后启动相应的container

6.将相应的task启动在相应的container上

你可能感兴趣的:(hadoop的认知之路)