yarn调度器 FairScheduler 与 CapacityScheduler
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的更多相关文章
- Yarn 调度器Scheduler详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
- Hadoop YARN 调度器(scheduler) —— 资源调度策略
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_yarn_resource_scheduler 搜了 ...
- YARN调度器(Scheduler)详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
- hadoop之 Yarn 调度器Scheduler详解
概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序调度任务,YARN资源调度器就是这个协调者. YARN调度器有多种实现,自带的调度器为Capaci ...
- Yarn调度器负载模拟器——Yarn Scheduler Load Simulator (SLS)
一.概述: Yarn调度器有很多实现,如Fifo, Capacity和Fair schedulers等.与其同一时候,正在进行一些优化措施来提高调度器在不同负载和工作场景下的性能.每一个调度器都有自己 ...
- Hadoop Yarn调度器的选择和使用
一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...
- 不可不知的资源管理调度器Hadoop Yarn
Yarn(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序如Spark.MapReduce分配资源和调度,不参与用户程序内部工作.同样是Master/ ...
- YARN资源调度器
YARN资源调度器 转载请注明出处:http://www.cnblogs.com/BYRans/ 概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序 ...
- Kubernetes增强型调度器Volcano算法分析
[摘要] Volcano 是基于 Kubernetes 的批处理系统,源自于华为云开源出来的.Volcano 方便 AI.大数据.基因.渲染等诸多行业通用计算框架接入,提供高性能任务调度引擎,高性能异 ...
随机推荐
- postman提交文件
说明 1.Headers中添加 Content-Type multipart/form-data 2.Body 中选择form-data 并添加 需要传的参数名和值 最后新的一行选择file ...
- english-phoneme
1. 声音概述 2. 音素phoneme与音标 2.1 音素与音标 2.2 音素与字母 2.3 字母发音-字母自然发音对照表 2.4 音标表 2.5 元音字母-辅音字母表 2.6 单元音发音口形趋势表 ...
- Linux centosVMware df命令、du命令、磁盘分区
一.df命令 df(disk filesystem的简写)用于查看自己挂载磁盘的总容量.使用容量.剩余容量,可以不加任何参数,默认以KB为单位. [root@davery ~]# df文件系统 1K- ...
- 「CF286C」Main Sequence
传送门 Luogu 解题思路 看到正负号相互抵消,很容易联想到括号匹配和栈. 但由于题目钦定了一些位置只能是负数,所以我们可以这样考虑: 把负数视为右括号,正数视为左括号,然后开一个栈,从右往左遍历, ...
- Regression 回归——多项式回归
回归是指拟合函数的模型.图像等.与分类不同,回归一般是在函数可微的情况下进行的.因为分类它就那么几类,如果把类别看做函数值的话,分类的函数值是离散的,而回归的函数值通常是连续且可微的.所以回归可以通过 ...
- Lesson 3 Matterhorn man
What was the main objective of early mountain climbers? Morden alpinists try to climb mountains by a ...
- 【C#】关于左移/右移运算符的使用
吐槽先~为什么我的老师大学时候没教过我这东西 - -. 继续送栗子: 比如 “(1+2)<<3” 你们猜等于几~ Debug.Log((1+2)<<3)之后输出的是“24”. ...
- JAVA 发送各种邮箱邮件 javamail
QQ邮箱 /** * 单条发送 * @param mail 邮件对象,包含发送人.邮件主题.邮件内容 * @param recipients 收件人 * @throws AddressExceptio ...
- HihoCoder第五周:标准动态规划
这周的题目是最标准最简单的动态规划了,自己一直以来对动态规划都不是很理解,这次也是好好记录一下. 题目1 :数字三角形 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 问题描述 ...
- 合天rev200.exe
查过之后无壳,查看一下详细信息 运行一下. 猜测可能是输入两个password...拖到ida里面查看,shfit+f12查看 转到此处然后继续查看,找到第一个password通过 一开始时直接输入的 ...