四. YARN介绍

2019-07-28  本文已影响0人  yanghx

YARN的架构

一. RM(ResourceManage) + N NM (NodeManage)

ResourceManage

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

  1. 处理客户端的请求。
  2. 启动/监控ApplicationMaster(一个作业对应一个AM)
  3. 监控NM
  4. 系统的资源分配和调度。

NodeManager

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

  1. 定期向RM汇报节点的资源使用请求和各个Container的运行情况。
  2. 接收并处理RM的container启停的各种命令。
  3. 单个节点的资源管理和任务管理,

ApplicationMaster

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

  1. 数据切分。
  2. 为应用程序向RM申请资源(container),并分配给内部系统。
  3. 与NM通信以启停task. task是运行在container中的。
  4. task的监控和容错

Container

对任务运行情况的描述 cpu,memory 环境变量

YARN执行流程

  1. 用户向YARN提交作业。
  2. RM为该作业分配第一个container(AM)
  3. RM会与对应的NM通信,要求NM在这个conainer上启动应用程序的AM
  4. AM首先向RM注册,然后AM将为各个任务申请资源,并监控运情况。
  5. AM采用轮训的方式通过RPC协议向RM申请和领取资源。
  6. AM申请到资源后,便和相应的NM通信,要求NM启动任务。
  7. NM启动我们作业对应的task.
image.png image.png
上一篇下一篇

猜你喜欢

热点阅读