yarn FairScheduler 与 CapacityScheduler

CapacityScheduler(根据计算能力调度)

  • CapacityScheduler 允许多个组织共享整个集群, 每个组织可以获得集群的一部分计算能力。通过为每个组织分配专门的队列, 然后再为每个队列分配一定的集群支援, 这样整个集群就可以通过设置多个队列的方式给多个组织提供服务。此外, 队列内部又可以垂直划分, 这样一个组织内部的多个成员就可以共享该队列资源了, 在一个队列内部, 资源的调度采用的是FIFO(First In First Out)策略。
  • CapacityScheduler特点:
    • 容量保证: 可以为每个队列设置资源最低量核对资源使用上限, 所有提交到该队列的程序共享该队列中的资源(注意: 最小容量并不是“总会保证最低容量", 可能会借给其他节点)
    • 灵活性: 如果一个队列中的资源有剩余, 可以暂时共享给那些需要资源的队列, 而一旦该队列有新的应用程序提交, 则其他队列释放的资源会归还给该队列, 这种资源灵活分配的方式明显可以提高资源的利用率;
    • 多租户: 支持多用户共享集群和多应用程序同时运行, 为防止单个应用或者用户或队列独占集群资源, 可为之增加限制, 如设置一个用户或者应用程序可以分配的最大资源数、最大任务运行数;
    • 安全保证: 每个队列有严格的ACLs列表规定它的访问用户, 每个用户可以指定其他哪些用户允许查看自己应用程序的运行状态或者控制应用程序(i.e. kill);
    • 动态更新配置文件: 管理员可以根据需要动态更改各种配置参数, 以实现在线集群管理。

FairScheduler(公平调度)

  • FairScheduler的设计目标: 为所有的应用分配公平的资源 (对公平的定义可以通过参数来设置)。

  • FairScheduler特点:

    • 支持资源抢占

      • 允许调度器杀死占用超过其应占份额资源队列的containers, 这些containers资源便可被分配到应该享有这些资源份额的队列中。

      • 当队列没有任务时, 最小资源可以被其他队列抢走。

      • 当有新的任务进来时, 如果集群有资源则获取资源, 如果没有则会从其他优先级较低的队列中抢占资源来执行任务。

      • 抢占会降低集群的执行效率, 因此被终止的containers需要被重新执行。

        ## 实现抢占功能的全局参数
        yarn.scheduler.fair.preemption=true ## 最小资源分配抢占超时时间
        minimum share preemption timeout ## 公平资源分配抢占超时时间
        fair share preemption timeout

        如果队列的minimum share preemption timeout指定的时间内未获得最小的资源保障, 调度器就会抢占containers

    • 灵活的调度策略配置

      • 允许为每个队列单独设置调度策略 (FIFO、Fair 或 DRF[dominant resource fairness])
    • 提高小应用程序响应时间

      • 采用最大最小公平算法, 小作业可以快速获取资源并运行完成。

三种调度策略对比

  • FIFOScheduler分配资源的顺序和提交应用程序的顺序相同, 不适用于共享集群。大的应用可能会占用所有集群资源, 这就导致其他应用被阻塞。

  • CapacityScheduler中, 有一个专门的队列来运行小任务, 但这会预先占用一定的集群资源, 因此会导致大任务的执行时间会落后于FIFO调度器运行其的时间。

  • FairScheduler中, 我们不需要预先占用一定的系统资源, Fair调度器会为所有运行的job动态的调整系统资源。

yarn调度器 FairScheduler 与 CapacityScheduler的更多相关文章

  1. Yarn 调度器Scheduler详解

    理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...

  2. Hadoop YARN 调度器(scheduler) —— 资源调度策略

    本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_yarn_resource_scheduler 搜了 ...

  3. YARN调度器(Scheduler)详解

    理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...

  4. hadoop之 Yarn 调度器Scheduler详解

    概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序调度任务,YARN资源调度器就是这个协调者. YARN调度器有多种实现,自带的调度器为Capaci ...

  5. Yarn调度器负载模拟器——Yarn Scheduler Load Simulator (SLS)

    一.概述: Yarn调度器有很多实现,如Fifo, Capacity和Fair schedulers等.与其同一时候,正在进行一些优化措施来提高调度器在不同负载和工作场景下的性能.每一个调度器都有自己 ...

  6. Hadoop Yarn调度器的选择和使用

    一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...

  7. 不可不知的资源管理调度器Hadoop Yarn

    Yarn(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序如Spark.MapReduce分配资源和调度,不参与用户程序内部工作.同样是Master/ ...

  8. YARN资源调度器

    YARN资源调度器 转载请注明出处:http://www.cnblogs.com/BYRans/ 概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序 ...

  9. Kubernetes增强型调度器Volcano算法分析

    [摘要] Volcano 是基于 Kubernetes 的批处理系统,源自于华为云开源出来的.Volcano 方便 AI.大数据.基因.渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异 ...

随机推荐

  1. SLT学习——leafes tree扩展 【文艺平衡树】

    这是一个全新的数据结构 md,别看这篇文章了,这篇已经废了. 百折不饶,再交一次,更新复杂度证明 这里是HYF,蒟蒻一只,最近因某些原因开始学数据结构了,然后就写了这篇题解. 下面给大家介绍一个全新的 ...

  2. MySQL操作之DML

    目录 SQL语句的分类 DML语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...

  3. java并发:interrupt进程终止

    interrupt进程终止 interrupt()源码 /** * Interrupts this thread. * * <p> Unless the current thread is ...

  4. java并发(二):初探syncronized

    参考博客 Java多线程系列--"基础篇"04之 synchronized关键字 synchronized基本规则 第一条 当线程访问A对象的synchronized方法和同步块的 ...

  5. [经验] 项目中 session 过期后弹出的登录窗口无法登录怎么办

    背景: 当session过期后, 按照 系统的设计,  会自动跳转到登录页面, 重新进行登录操作 问题: 由于进入主页后, 其他页面都是嵌入式的模板页, 所以这时的登录页面也是内嵌在index模板下的 ...

  6. Day3-J-4 Values whose Sum is 0 POJ2785

    The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, compute ...

  7. dataset的reparation和coalesce

    /** * Returns a new Dataset that has exactly `numPartitions` partitions, when the fewer partitions * ...

  8. 03WebDriver

    概述 WebDriver一般用于测试 执行脚本 1.驱动包  WebDriver  不同的浏览器不同的驱动包 2.驱动包技术一个chrome.exe的程序,放到环境变量中,一般放在C:windows里 ...

  9. Samjia 和矩阵[loj6173](Hash+后缀数组)

    传送门 本题要求本质不同的子矩阵,即位置不同也算相同(具体理解可以看样例自己yy). 我们先看自己会什么,我们会求一个字符串中不同的子串的个数.我们考虑把子矩阵变成一个字符串. 先枚举矩阵的宽度,记为 ...

  10. JuJu团队1月8号工作汇报

    JuJu团队1月8号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 飞飞 实现三维Dense 将crossentrophy和softmax连接起来 无 婷婷 完善main.jl ...