美文网首页
YARN 调度策略

YARN 调度策略

作者: 乔毅_HZ | 来源:发表于2017-05-07 15:48 被阅读0次

    capacity scheduler

    • 设计思想

      • 通过比例来规划整个集群的资源使用
      • 支持调度队列间的弹性资源使用
      • 增加各种限制,避免队列、应用利用队列间的资源弹性能力而独占整个集群资源
    • 队列(Queue)

      • 以队列(Queue)作为调度单位
      • 通过队列来规划整个集群的容量
      • 支持层级的方式组织队列;root队列, leaf队列。其中leaf队列中包含了当前active的Application
    • 资源分配策略

      • 策略
        • 队列间选择策略:资源使用率低者优先 不同的资源比较器对于资源定义不一样(DefaultResourceCalculator只考虑MEM, DominantResourceCalculator同时考虑CPU/MEM)
        • leaf队列内选择策略(Application选择策略):按照提交时间FIFO
        • Application队列内选主响应哪个ResourceRequest
      • 流程
        1. 从root队列开始,依据子队列的资源使用率递归选择最小的,直到leaf队列。
        2. 确定leaf队列后,依据Application的 ApplicationID,选择最小的Application来分配资源。(根据应用的提交时间进行FIFO)
        3. 确定Application后,根据优先级、locality perference(node、rack、no-local)、资源规格和数量的顺序来确定响应那个ResourceRequest
    • 特点

      1. 支持多租户(通过层级的调度队列这个抽象来实现)
      2. 保证调度单位最少可用资源(通过定义队列的capacity来实现)
      3. 支持队列间资源弹性使用,即当一个队列可用资源有剩余时,可以暂时将剩余资源共享给其他有需求的队列
      4. 支持多重约束,避免因资源弹性的特性,造成单个Application或者队列独占整个集群的资源
    • 主要配置

      • 队列的soft、hard capacity
        • capacity:队列的最小资源容量(百分比)。以此实现集群的资源规划
          注意,所有队列的容量之和应小于100
        • maximum-capacity:队列的资源使用上限。避免队列间资源弹性使用造成的独占资源问题
      • 用户限制
        • minimum-user-limit-percent:每个用户最低资源保障(百分比)
        • user-limit-factor:每个用户最多可使用的资源量(百分比)
      • Application限制

    相关文章

      网友评论

          本文标题:YARN 调度策略

          本文链接:https://www.haomeiwen.com/subject/zsgutxtx.html