Yarn调度器负载模拟器——Yarn Scheduler Load Simulator (SLS)
一、概述:
Yarn调度器有很多实现,如Fifo, Capacity和Fair schedulers等。与其同一时候,正在进行一些优化措施来提高调度器在不同负载和工作场景下的性能。每一个调度器都有自己的特性,调度决策受很多因素影响,如公平行、计算能力保证和资源的可靠性等。在部署一个调度算法到生产集群之前。评估一个调度算法是很重要的,不幸的是,评估一个调度算法是不那么easy的,评估一个真正的集群是很耗费时间和成本的。而且很难找到一个足够大的集群用来评測。
所以。一个能够模拟在这样的工作场景和负载下调度器的性能表现的模拟器是很实用的。
Yarn模拟器能够在一台机器上模拟一个大型的集群和大量的应用负载,模拟器对于那些希望深入研究yarn的人员来说是很宝贵的。由于它提供了一个工具:一个新的调度器原型、预測它的行为和性能表现。从而帮助他们高速创新。
Yarn模拟器通过在ResourceManager的jvm中模拟出NodeManagers和ApplicationMasters并处理和分发 NM/AM事件来去除网络因素的影响。为了trace调度器的行为和性能。在真正的调度器外层包裹了一个wrapper。
集群和应用负载能够从配置文件里载入,这些配置文件能够利用 Apache
Rumen 从 job history files中直接生成。
模拟器在运行会产生实时的指标。例如以下所看到的:
- 整个集群和每一个队列的资源利用率,能够用来配置集群和队列的容量;
- 具体的用模拟出来的时间记录的应用程序运行记录,能够用来分析、了解和验证程序的行为(个别job的周转时间、吞吐量、公平性和计算能力保证等);
- 调度算法的一些关键指标。如:每一个调度操作花费的时间(分配、处理等等),开发人员能够用来找出影响性能和可伸缩性的代码。
二、设计目标:
- 不用真正的集群和真正的job trace来检查调度器
- 能够模拟真实的负载
三、结构:
下图说明了模拟器的实现架构:
模拟器获取负载的描写叙述,并获取到集群和应用的信息。对每一个NM and AM,模拟器构造一个模拟器来模拟它们的执行,全部的NM and AM模拟器都在一个线程池中执行。模拟器共用RM,并在调度器外包裹一层wrapper,这个Scheduler
Wrapper能够跟踪Scheduler并产生一些日志。模拟器产生的日志能够用作以后的分析。
Yarn调度器负载模拟器——Yarn Scheduler Load Simulator (SLS)的更多相关文章
- YARN调度器(Scheduler)详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
- hadoop之 Yarn 调度器Scheduler详解
概述 集群资源是非常有限的,在多用户.多任务环境下,需要有一个协调者,来保证在有限资源或业务约束下有序调度任务,YARN资源调度器就是这个协调者. YARN调度器有多种实现,自带的调度器为Capaci ...
- Yarn 调度器Scheduler详解
理想情况下,我们应用对Yarn资源的请求应该立刻得到满足,但现实情况资源往往是有限的,特别是在一个很繁忙的集群,一个应用资源的请求经常需要等待一段时间才能的到相应的资源.在Yarn中,负责给应用分配资 ...
- Hadoop YARN 调度器(scheduler) —— 资源调度策略
本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/hadoop_yarn_resource_scheduler 搜了 ...
- Hadoop Yarn调度器的选择和使用
一.引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色.在讨论其构造器之前先简单了解一下Yarn的架构. 上图是Yarn的基本架构,其中ResourceManager是整个架构的核 ...
- yarn调度器 FairScheduler 与 CapacityScheduler
yarn FairScheduler 与 CapacityScheduler CapacityScheduler(根据计算能力调度) CapacityScheduler 允许多个组织共享整个集群, 每 ...
- 调度器&负载均衡调度算法整理
一.Linux 调度器 Linux中进程调度器已经经过很多次改进了,目前核心调度器是在CFS(Completely Fair Scheduler),从2.6.23开始被作为默认调度器.用作者Ing ...
- Hadoop的三种调度器FIFO、Capacity Scheduler、Fair Scheduler(转载)
目前Hadoop有三种比较流行的资源调度器:FIFO .Capacity Scheduler.Fair Scheduler.目前Hadoop2.7默认使用的是Capacity Scheduler容量调 ...
- 不可不知的资源管理调度器Hadoop Yarn
Yarn(Yet Another Resource Negotiator)是一个资源调度平台,负责为运算程序如Spark.MapReduce分配资源和调度,不参与用户程序内部工作.同样是Master/ ...
随机推荐
- 大数据学习——hive的sql练习题
ABC三个hive表 每个表中都只有一列int类型且列名相同,求三个表中互不重复的数 create table a(age int) row format delimited fields termi ...
- [android开发篇] 权限
Android 应用采用 Java 编程语言编写.Android SDK 工具将您的代码 — 连同任何数据和资源文件 — 编译到一个 APK:Android 软件包,即带有 .apk 后缀的存档文件中 ...
- 划分树C++版百度百科模板
此代码同hdu2665改编#include <iostream> #include <cstdio> #include<cstring> #include < ...
- Understanding performance, load and stress testing
What are performance, load and stress testing? Performance testing, load testing and stress testing ...
- POJ 1860: Currency Exchange 【SPFA】
套汇问题,从源点做SPFA,如果有一个点入队次数大于v次(v表示点的个数)则图中存在负权回路,能够套汇,如果不存在负权回路,则判断下源点到自身的最长路是否大于自身,使用SPFA时松弛操作需要做调整 # ...
- mysql/oracle 连接参数中文变问号
jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf8&useSSL=true
- gulp 环境搭建
wind+r弹出cmd命令窗口 要先安装node及npm,检查是否安装成功,node -v,npm -v可查看nod及npm的版本号. 安装gulp之前我们需要安装nodejs的环境,检测能够正常使用 ...
- raspberrypi树莓派liunx下安装golang1.9环境(debian)
直接安装go1.6以上版本会出现提示 Set $GOROOT_BOOTSTRAP to a working Go tree >= Go 1.4. Go1.9的构建过程需要用于引导的 Go1.4二 ...
- eslint 在webstorm配置
1.安装nodejs和eslint 2.在 webstorm 的 file - setting搜索eslint,配置eslint路径 3.在项目目录下新建.eslintrc文件 4.配置eslint ...
- git使用快速入门
git简介 git是一种版本控制器,更直白的说,团队开发的时候,管理代码使用的软件 git安装 Windows安装 到 https://www.git-for-windows.github.io/ 下 ...