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. redis学习笔记-03:redis安装

    一.redis的安装和配置 1.下载redis-5.0.4.tar.gz到/opt目录下,解压命令 :tar -zxvf redis-5.0.4.tar.gz,解压后出现redis-5.0.4的文件夹 ...

  2. windows远程桌面不显示本地磁盘

    \\tsclient\D 在资源管理器输入上面的内容就可以访问本地的D盘,但是前提是连接远程桌面的时候设置了可以访问本地D盘.

  3. 使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件

    使用input:file控件在微信内置浏览器上传文件返回未显示选择的文件 原来的写法: <input type="file" accept="image/x-png ...

  4. Day2-L-棋盘问题-POJ1321

    在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子的所有可行的摆放方案C. ...

  5. Java面向对象之类、接口、多态

    Java面向对象之类.接口.多态 类 class Person { // 实例属性 int age; String name; // 类属性 static int v = 1; // 构造器 publ ...

  6. FPGA流程设计

    做fpga也有四年时间了,该有个总结.刚开始那会,学习东西都是死记硬背,去面试也是直接带着答案去了. 时间久了,才懂得设计一些基本思路. 1. 设计输入: verilog代码和原理图.画原理图都是懒得 ...

  7. GitHub fork 合作开发 - 快速实现版

    目录 一 预备条件 二 fork项目 三 将项目clone到本地 四 push代码到自己的仓库 五 通过pull request提交代码 六 通过本地配置upstream来同步更新主repo的内容 七 ...

  8. MVC5仓库管理系统

    下载

  9. hyper-V pcie直通

    横河VI702失败. 显卡没有提示失败,但分配给的那个虚拟机中 检测不到独占的显卡,不知道那里出错了. 参考教程22#:[网络] 既然最新hyper V也支持pcie直通.是不是可以扔掉esxi了?

  10. lvs负载均衡配置

    三台server的ip     direct_server:192.168.248.128     real_server1:192.168.248.130     real_server2:192. ...