【5】Yarn资源调度器

Yarn是一个资源调度平台,负责为运算程序提供服务器运算资源,相当于一个分布式的操作系统平台 ,而 MapReduce等运算程序则相当于运行于操作系统之上的应用程序 。

1. Yarn 基本架构

YARN主要由ResourceManagerNodeManagerApplicationMasterContainer等组件构成。
【5】Yarn资源调度器

2. Yarn 工作机制

工作机制详解
【5】Yarn资源调度器【5】Yarn资源调度器【5】Yarn资源调度器

3. 作业提交全过程

(1)作业提交过程之YARN
【5】Yarn资源调度器

  1. 作业提交
    【5】Yarn资源调度器
  2. 作业初始化
    【5】Yarn资源调度器
  3. 任务分配
    【5】Yarn资源调度器
  4. 任务运行
    【5】Yarn资源调度器
  5. 进度和状态更新
    【5】Yarn资源调度器
  6. 作业完成
    【5】Yarn资源调度器
    (2)作业提交过程之MapReduce
    【5】Yarn资源调度器

4. 资源调度器【5】Yarn资源调度器

具体设置详见:yarn-default.xml 文件【5】Yarn资源调度器

  1. 先进先出调度器(FIFO)
    【5】Yarn资源调度器
  2. 容量调度器(Capacity Scheduler)
    【5】Yarn资源调度器
  3. 公平调度器(Fair Scheduler)
    【5】Yarn资源调度器

5. 任务的推测执行

  1. 作业完成时间取决于最慢的任务完成时间
    【5】Yarn资源调度器
  2. 推测执行机制
    【5】Yarn资源调度器
  3. 执行推测任务的前提条件
    【5】Yarn资源调度器
  4. 不能启用推测执行机制情况
    【5】Yarn资源调度器
  5. 推测执行算法原理
    【5】Yarn资源调度器