Yarn资源管理与调度|青训营笔记

144 阅读2分钟

Yarn资源管理与调度|青训营笔记

这是我参与「第四届青训营 」笔记创作活动的第4天。

一、Yarn挑战

YARN 面临的挑战

    1. 公平性:各租户能够公平的拿到资源运行任务
    1. 高性能:高调度吞吐、低调度延迟,保障资源快速流转
    1. 高可用:集群要具备很强的容错能力
    1. 单集群规模提升:原生 YARN 单集群仅支持 5K
    1. 高集群资源利用率
    1. 高任务运行质量保障

二、YARN核心模块

  • 架构图

image.png

Resource Manager

  • 整个集群的大脑,负责为应用调度资源,管理应用生命周期;
  • 对用户提供接口,包括命令行接口,API, WebUI 接口;
  • 可以同时存在多个RM、,同一时间只有一个在工作,RM 之间通过 ZK 选主;

Node Manager

  • 为整个集群提供资源, 接受 Container 运行;
  • 管理Contianer的运行时生命周期, 包括Localization, 资源隔离, 日志聚合等;

三、YARN重要调度策略

  1. 公平性保障

    • Fair Share 调度策略

      • 队列配置 minShare 和 maxShare,当队列空闲时按照一定策略将资源分配给其他活跃队列;

      • 保障公平的前提下实现队列间资源共享,提高资源利用率,缓解繁忙队列压力;

      • 两种类型 Steady Fair Share、Instantaneous Fair Share。

    • DRF 调度策略

      • 在保证公平性的前提下进行资源降维,以达到更好的分配效果;

      • DRF 是最大最小公平算法在多维资源上的具体实现;

      • 旨在使不同用户的“主分享量”最大化的保持公平;

      • 最大最小公平算法:最大化最小资源需求的满足度

        • 资源按照需求递增的顺序进行分配;

        • 用户获取的资源不超过自身需求;

        • 对未满足的用户,等价分享剩余资源;