Schedulerx2.0支持应用级别资源管理和任务优先级
1. 前言
Schedulerx2.0是一套分布式的任务调度+计算框架。作为一套分布式计算引擎,用户经常需要资源管理的需求,当前schedulerx仅仅支持单个任务实例的管控(比如单机子任务并发数、拉模型全局子任务并发数等),这一点是远远不够的。比如某一时刻大量任务要触发,用户资源不够,当前是无法管控的。
业内任务调度系统一般都focus在任务调度上,资源管理会借助第三方系统(比如mesos, yarn),这类系统的执行单元worker都是由调度平台管控的。这一点和schedulerx还是不一样的,schedulerx的计算worker都是各个用户自己的应用程序接入的,无法通过统一的第三方资源管理系统来管理。
2. 应用级别资源管理
1) 新建应用分组的时候,高级配置可以打开流控开关(默认关闭)
打开开关后,可以配置应用级别的任务队列(即任务实例并发数)。该队列表示一个应用最多同时运行的任务实例个数,超过并发数的任务实例不会丢弃,会放在队列中等待执行。
2) 在该分组下新建3个任务,分别手动运行一次
3) 会发现,第一个触发的任务hello_jobA在运行中,hello_jobB和hello_jobC在池子中排队
4) 等hello_jobA运行完,hello_jobB会进入执行队列
3. 任务优先级
任务支持优先级,同一个应用下,调度时间一样,优先级高的任务优先调度
用户1:“我把自己的任务全部设置为非常高,是不是能保证自己的任务比其他用户的任务优先调度?”
回答:任务优先级是应用级别的,只会在该应用下生效,不会影响其他应用。
用户2:“客户端都有很多台机器,高优先任务和低优先级任务分布式调度到不同的机器,也有可能低优先任务先运行啊,这个功能看起来貌似很鸡肋?”
回答:别急,接着看下一节。
4. 可抢占的优先级队列
熟悉大数据的同学,应该对下面这个图很熟悉。这个是yarn的优先级队列,对不同优先级的任务做资源隔离
我们可以来看下,schedulerx如何通过应用级别资源管理+任务优先级,来实现可抢占的任务优先级队列。
1) dts-all.hxm这个应用开启限流,队列大小=1方便观察,新建3个优先级任务如下图。先触发1次中优先级任务,再触发1次低优先级任务,再触发一次高优先级任务
2) 因为先触发中优先级任务的时候,队列还是空的,所以中优先任务先跑
3) 中优先级任务跑完之后,队列有空闲槽位了,高优先级任务会抢占低优先级任务先执行
5. 应用场景
该功能上线后,应用场景非常多,很多业务方都有应用级别资源控制和任务优先级的需求。比如数据平台每天要跑报表,可能会有成千上万的任务在晚上跑,如果没有资源控制,所有任务一起跑会把应用打挂。然后要求kpi报表必须早上9点前产生(老板和运营上班要看),这就需要在资源控制的基础上,高优先级任务优先调度,如果低优先级任务先进入队列,高优先任务也能抢占优先调度。
6. 总结及未来展望
相比较yarn的资源管理来说,yarn能做到vcore, cpu, memory等资源级别的管控。Schedulerx作为通用的任务调度平台,在调度端实现对任务运行实例个数和优先级的管控。
当前Schedulerx无法做到core, cpu, memory级别的资源管控,是因为当前接入方式,是应用自己的worker接入,不是由调度平台提供的机器。未来Schedulerx会和云原生结合,用户接入只需要上传jobProcessor的jar包,由调度平台申请容器运行,大大减少了接入的代价,还能做到细粒度的资源管控,弹性扩缩容等能力。
Schedulerx2.0支持应用级别资源管理和任务优先级的更多相关文章
- Spring3.1 对Bean Validation规范的新支持(方法级别验证)
上接Spring提供的BeanPostProcessor的扩展点-1继续学习. 一.Bean Validation框架简介 写道Bean Validation standardizes constra ...
- SharePoint 2010 "客户端不支持使用windows资源管理器打开此列表" 解决方法
SharePoint 2010 在“库”--“库工具”,有一个“使用资源管理器打开”的按钮,点上去报“客户端不支持使用windows资源管理器打开此列表”.如图: 解决方案:在“开始”--“管理工具” ...
- C#5.0支持的await格式
C#5.0支持的await格式 C#5.0引入了编译器支持的 async 和 await 关键字,这就为开发者提供了使用同步思想写异步代码的方便. 但是有些传统函数仅提供了异步回调实现,如何对其封装, ...
- WebStorm 7.0 支持更多的Web技术
JetBrains刚刚发布了WebStorm 7.0 GA,支持EJS.Mustache.Handlebars.Web组件.Stylus.Karma.Istanbul.Compass,并增强了很多功能 ...
- 干货来袭:Redis5.0支持的新功能说明
Redis5.0支持的新特性说明 本文内容来自华为云帮助中心 华为云DCS的Redis5.x版本继承了4.x版本的所有功能增强以及新的命令,同时还兼容开源Redis5.x版本的新增特性. Stream ...
- CentOS 7.6 部署zabbix 6.0 支持Kubernetes
# 基础信息 系统版本: CentOS Linux release 7.6.1810 (Core) 内核版本: 4.19.0-9.el7.ucloud.x86_64 # 听说最新版的zabbix6.0 ...
- Confluent Platform 3.0支持使用Kafka Streams实现实时的数据处理(最新版已经是3.1了,支持kafka0.10了)
来自 Confluent 的 Confluent Platform 3.0 消息系统支持使用 Kafka Streams 实现实时的数据处理,这家公司也是在背后支撑 Apache Kafka 消息框架 ...
- 设置RHEL-7.0的运行级别
在RHEL7中修改默认运行级别与7以前版本的修改方式不同(7以前版本可以修改/etc/inittab中的“id:5:initdefault:”参数值来实现),RHEL7在/etc/inittab文件中 ...
- Golang:手撸一个支持六种级别的日志库
Golang标准日志库提供的日志输出方法有Print.Fatal.Panic等,没有常见的Debug.Info.Error等日志级别,用起来不太顺手.这篇文章就来手撸一个自己的日志库,可以记录不同级别 ...
- 如何在VMware中安装Windows Phone SDK 8.0 (支持模拟器调试)
相信很多开发者目前的系统还是Win7或Mac,一般不会为了开发某个程序而重装系统,所以我们就需要用到VMware这类的虚拟机来模拟预期的开发环境.在开始介绍前,给大家说明下我当前的软硬件环境,本文所讲 ...
随机推荐
- docker跑es流程再整理
参考,欢迎点击原文:https://blog.csdn.net/qq_32101993/article/details/100021002(报错) 继老早前一篇文章整理的使用docker-compos ...
- JAVA 相关
1. google guava cache 2. presto 3. loadingcache 4. aspect
- 关于云XR介绍,以及5G时代云化XR的发展机遇
XR技术进入全面沉浸化时代 基于云化XR技术将大幅降低XR终端设备的计算负荷和能耗,摆脱线缆的束缚,XR终端设备将变得更轻.更沉浸.更智能.更有利于商业化. 网络XR终端能力的提升,将推动XR技术进入 ...
- openApi generator总是生成类名为 defaultApi
生成器可以开启 useTags 设置,开启之后会根据 api 文档中的 tags 生成前缀类名,因此,要不生成 defaultApi 需要以下操作: 1.openApi 文档中每个 url 必须要有 ...
- 【论文阅读】NIDS对抗性机器学习综述
基本信息 题目:Adversarial Machine Learning for Network Intrusion Detection Systems: A Comprehensive Survey ...
- logback 日志输出配置
application.properties文件中 logging.config=classpath:logback-spring-dev.xml logback-spring-dev.xml &l ...
- Oracle 视图创建自增ID
select ROW_NUMBER() over (order by sysdate()) as id
- Oracle 常用建库模板
记录一下 create tablespace lxw_tablespace datafile '/oradata/orcl/lxw_data_01.ora' size 30G; --或者 create ...
- Spring Cloud项目搭建版本选择
1.查看spring cloud的版本 https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4 ...
- PSS:你距离NMS-free+提点只有两个卷积层 | 2021论文
论文提出了简单高效的PSS分支,仅需在原网络的基础上添加两个卷积层就能去掉NMS后处理,还能提升模型的准确率,而stop-grad的训练方法也挺有意思的,值得一看 来源:晓飞的算法工程笔记 公众号 ...