Hadoop学习(三)-YARN

YARNhadoop的资源调度平台。

1. YARN的基本架构

YARN由以下几个组件组成。Resource ManagerNode ManagerApplication MasterContainer组成。

  1. Resource Manager RM是一个全局的资源管理器。负责整个系统的资源管理和任务调度。核心组件由两个。调度器Scheduler  应用任务管理器ASMApplications Master

Scheduler 负责将资源分配给应用程序。ASM 负责启动、监控AMApplication Master

  1. Node Manager:
    1. 周期型的向RM汇报节点资源情况和Container运行状态。
    2. 接收AM的命令。启动、停止Container
  2. Application Master:用户提交每个任务都包含一个AMAM的功能主要由:
    1. 切分数据。
    2. 为应用程序向RM申请资源(container
    3. NM通信,启动、停止任务
    4. 监控任务运行状态。提供容错机制。
  1. Container:

Container是资源的抽象(内存和CPU)。

2. 作业提交流程

用户向YARN提交任务后,YARN分为两个阶段运行该应用程序。启动AMAM创建应用程序为任务申请资源监控任务执行过程直到任务完成

创建AM

1) 客户端向YARN提交应用程序,并请求RM分配资源

2) RM开启一个Container,并在上面运行AM

AM创建应用程序

3) AMRM中的ASM注册。

4) AMRM申请和获取资源。

5) AM获得资源后,将和资源对应的NM建立连接。

6) 启动任务,对应的Container会在AM处注册。

7) 各个任务向AM周期型汇报执行情况。

8) AM运行完成后向RM注销并关闭自己

3. 需要完善】资源调度器

HADOOP的作业调度器有三种。先进先出调度器FIFO,容量调度器(capacity scheduler)和公平调度器(fair scheduler)。默认为容量调度器。

(1) FIFO :队列保存job,先来的任务先执行。

(2) Capacity Scheduler:

支持多个队列,每个队列采用先进先出调度策略。

(3) Fair Scheduler

原文地址:https://www.cnblogs.com/maopneo/p/13947999.html