ElasticJob 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
ElasticJob 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
ElasticJob 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
ElasticJob 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
ElasticJob 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache-2.0
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
开源组织 Apache
地区 国产
投 递 者 叶秀兰
适用人群 未知
收录时间 2015-09-11

软件简介

ElasticJob 是面向互联网生态和海量任务的分布式调度解决方案,由两个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。 它通过弹性调度、资源管控、以及作业治理的功能,打造一个适用于互联网场景的分布式调度解决方案,并通过开放的架构设计,提供多元化的作业生态。 它的各个产品使用统一的作业 API,开发者仅需一次开发,即可随意部署。

ElasticJob 已于 2020 年 5 月 28 日成为 Apache ShardingSphere 的子项目。 欢迎通过邮件列表参与讨论。

使用 ElasticJob 能够让开发工程师不再担心任务的线性吞吐量提升等非功能需求,使他们能够更加专注于面向业务编码设计; 同时,它也能够解放运维工程师,使他们不必再担心任务的可用性和相关管理需求,只通过轻松的增加服务节点即可达到自动化运维的目的。

ElasticJob-Lite

定位为轻量级无中心化解决方案,使用 jar 的形式提供分布式任务的协调服务。

Elastic-Job-Cloud

采用自研 Mesos Framework 的解决方案,额外提供资源治理、应用分发以及进程隔离等功能。

  ElasticJob-Lite ElasticJob-Cloud
无中心化
资源分配 不支持 支持
作业模式 常驻 常驻 + 瞬时
部署依赖 ZooKeeper ZooKeeper + Mesos

 

功能列表

  • 弹性调度

    • 支持任务在分布式场景下的分片和高可用
    • 能够水平扩展任务的吞吐量和执行效率
    • 任务处理能力随资源配备弹性伸缩
  • 资源分配

    • 在适合的时间将适合的资源分配给任务并使其生效
    • 相同任务聚合至相同的执行器统一处理
    • 动态调配追加资源至新分配的任务
  • 作业治理

    • 失效转移
    • 错过作业重新执行
    • 自诊断修复
  • 作业依赖(TODO)

    • 基于有向无环图(DAG)的作业间依赖
    • 基于有向无环图(DAG)的作业分片间依赖
  • 作业开放生态

    • 可扩展的作业类型统一接口
    • 丰富的作业类型库,如数据流、脚本、HTTP、文件、大数据等
    • 易于对接业务作业,能够与 Spring 依赖注入无缝整合
  • 可视化管控端

    • 作业管控端
    • 作业执行历史数据追踪
    • 注册中心管理
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (24)

加载中
这是什么调度规模,要搞得介么复杂,舒服么!?
2020/09/11 00:29
回复
举报
测试~ #elastic-job#
2020/08/27 11:20
回复
举报
项目里面注册多个任务注册中心
2020/08/27 00:00
回复
举报
在 job选举过程zk会卡在 necessary节点
2020/03/11 10:19
回复
举报
elastic-job 在job的选主过程 卡死 一直动不了;
2019/03/14 15:11
回复
举报
mesos集群启用了授权验证,elastic-job-cloud-scheduler(2.1.5版本)无法加入集群,有什么特别的配置吗?
2018/04/07 11:53
回复
举报
打分: 力荐
非常棒
2017/09/22 10:11
回复
举报
打分: 力荐
国产开源作业调度工具TASKCTL已经开源,可关注:https://www.oschina.net/p/taskctl 了解更多。
2017/08/16 14:42
回复
举报
console管理端希望能够细化权限管理
2017/08/01 16:01
回复
举报
支持一个项目里面注册多个任务注册中心吗?
2017/07/19 15:24
回复
举报
更多评论
发表于软件架构专区
01/04 08:12

Apache ShardingSphere ElasticJob 3.0.0-RC1 发布

Apache ShardingSphere ElasticJob 3.0.0-RC1 已发布,ElasticJob 是一种分布式调度解决方案,由 2 个相互独立的子项目 ElasticJob-Lite 和 ElasticJob-Cloud 组成。它通过弹性调度、资源分配和作业管理功能,创建了适合互联网场景的分布式调度解决方案,并通过开放式架构设计提供了多元化的作业生态系统。ElasticJob 的各个产品使用统一的作业 API,开发者仅需要一次开发,即可随意部署。 ElasticJob 3.0.0-RC1 更新内容包括:...

1
1
2020/11/06 11:48

ElasticJob 3.0.0-beta 发布,丰富的报警机制集成

本周Apache ShardingSphere团队很高兴的向大家宣布: ElasticJob-3.0.0-beta 和 ElasticJob UI-3.0.0-beta 的新版本正式发布了! ElasticJob 是一个分布式调度解决方案,提供分布式任务的分片,弹性伸缩,全自动发现,基于时间驱动、数据驱动、常驻任务和临时任务的多任务类型,任务聚合和动态调配资源,故障检测、自动修复,失效转移和重试,完善的运维平台和管理工具,以及对云原生的良好支持等功能特性,可以全面满足企业对于...

4
9
发表于软件架构专区
2020/11/06 11:01

Elastic Job 3.0.0-beta 版本发布,分布式调度解决方案

Apache ShardingSphere ElasticJob-3.0.0-beta 和 ShardingSphere ElasticJob UI-3.0.0-beta 新版本已发布。 ElasticJob 是一个分布式调度解决方案,于 2020 年 5 月 28 日成为 Apache ShardingSphere 子项目。 更新内容包括: ElasticJob-3.0.0-beta API 变更 API changes 1. 重构作业监听器配置。 2. 重构作业错误器程序配置。 3. 重构作业跟踪配置。 新特性 New Feature 1. 支持HTTP类型作业。 2. 从内核模块中删除Spring Bo...

1
2
发表于软件架构专区
2020/11/04 12:10

ElasticJob 发布设计规划,分布式调度解决方案

没投过票?千万别说你来过 OSC https://www.oschina.net/project/top_cn_2020 ElasticJob 创始人张亮 11 月 4 日发布 ElasticJob 后续设计规划。 ElasticJob 是一个分布式调度解决方案。分布式环境中,调度直接决定运行集群的投入和产出。调度的两个核心要素是资源治理和触发时机。 ElasticJob 由两个相互独立的子项目 ElasticJob Lite 和 ElasticJob Cloud 组成。ElasticJob Lite 定位为轻量级无中心化解决方案,使用 jar 的形...

0
6
发表了资讯
2017/08/30 11:46

Elastic-Job 与 Sharding-JDBC 官网正式上线

当当先后于 2015 年 9 月和 2016 年 1 月开源的 Elastic-Job 和 Sharding-JDBC,经过这一两年的洗礼,它们已经初步获得技术圈的同仁的认可。 两个项目在码云和 GitHub 上的 star 数加起来已超过 5000,明确收录的采用公司在 60 家左右,感兴趣的公司则更多。 Elastic-Job Elastic-Job 是一个分布式调度解决方案,由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic-Job-Cloud 组成。 Elastic-Job-Lite 定位为轻量级无中心化解...

13
68
发表了资讯
2017/07/10 19:51

Elastic-Job 2.1.5 发布,修复零散bug

Elastic-Job 2.1.5发布了,此版本主要修复零散的bug,让2.1.x的版本更加稳定,并且为2.2.x的新功能打基础。主要更新如下: 通过mesos 1.1.0 API的增强,在Cloud版本中更加细粒度的控制作业执行状态。 修正禁用作业再恢复作业会产生的堆积。 界面的一些bug修改。 详细的Release Notes请参见:https://github.com/dangdangdotcom/elastic-job/releases 感谢大家关注,欢迎大家一如既往的使用和吐槽。...

2
10
发表了资讯
2017/06/13 15:52

Elastic-Job 2.1.4 发布,接入 DC/OS

Elastic-Job 2.1.4发布了,此版本主要是针对Cloud的提升。主要更新如下: 从此版本开始接入Mesos的DC/OS,提供英文版界面,将Elastic-Job推广至国际化。 提供本地运行模式,开发作业时无需Mesos环境即可运行,可以基于本地运行模式编写单元测试。文档参见:http://dangdangdotcom.github.io/elastic-job/elastic-job-cloud/02-guide/local-executor/ 资源分配时增加对Executor资源的管理。 界面的一些bug修改。 详细的Release N...

7
9
发表了资讯
2017/05/27 11:40

Elastic-Job 2.1.3 发布,修复界面 bug

Elastic-Job 2.1.3 发布了,主要界面bug修复以及一些细小提升: 支持纯XML方式的配置。 Cloud错误信息完善。 界面Bug修改。 详细的Release Notes请参见:https://github.com/dangdangdotcom/elastic-job/releases 感谢大家关注,欢迎大家一如既往的使用和吐槽。

2
11
发表了资讯
2017/05/12 17:19

Elastic-Job 2.1.2 发布 非核心功能稳定性提升

Elastic-Job 2.1.2发布,主要更新: 1.非核心功能稳定性提升,包括校验与注册中心的时差,瞬时作业错误开启作业运行时监控等。 2. 分离失效转移与作业运行时监控的关联性。 3. Cloud自修复协调分布式不正确状态。 4. 界面重构以及增加guest账户。 详细的Release Notes请参见:https://github.com/dangdangdotcom/elastic-job/releases 感谢大家关注,欢迎大家一如既往的使用和吐槽。...

3
11
发表了资讯
2017/04/19 16:33

Elastic-Job 2.1.1 发布,分布式调度解决方案

Elastic-Job 2.1.1发布,Elastic-Job 是一个分布式调度解决方案,由两个相互独立的子项目 Elastic-Job-Lite 和 Elastic-Job-Cloud 组成。 主要更新: 2.1.0里程碑版本的bug修复。由于2.1.0版本对内核进行了修改导致了一些bug,因此2.1.1的定位是bug的快速修正版本。 增加Cloud版本应用和作业的删除和禁用功能。 文档重新梳理。 详细的 Release Notes 请参见: https://github.com/dangdangdotcom/elastic-job/releases 感谢大家...

1
35
发表了资讯
2017/04/10 14:33

Elastic-Job 2.1.0 里程碑发布 Cloud Native

Elastic-Job 2.1.0 里程碑发布了。Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。主要功能: 单服务器可运行任意多相同作业实例,达到作业云原生的效果,可以平滑对接Mesos + Marathon或Kubernetes 自我修复功能使稳定性飞跃性提升,在网络不稳定,时间钟不一致的情况下仍然可以通过异步修复的方式保证作业的运行 作业操作重新梳理,对作业、运行实例、服务器以及分片...

3
29
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2018/10/08 08:59

elastic job

一 、elastic-job主要分为elastic-job-lite 和elastic-job-cloud两部分 可在https://github.com/elasticjob上下载源码,今天我们主要学习elastic-job-lite。 首先我们要了解一下什么是任务调度,调度就是将一个任务套上一个时间,让该任务可以在时间规律上去循环执行。一般的技术quartz、spring task、java.util.Timer,这几种如果在单一机器上跑其实问题不大,但是如果一旦应用于集群环境做分布式部署,就会带来一个致命的问题...

0
0
发表于AI & 大数据专区
2018/06/25 16:47

elastic-job

http://elasticjob.io/docs/elastic-job-lite/02-guide/job-sharding-strategy/ Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。 分布式调度协调 弹性扩容缩容 失效转移 错过执行作业重触发 作业分片一致性,保证同一分片在分布式环境中仅一个执行实例 自诊断并修复分布式不...

0
0
发表了博客
2019/05/18 10:07

elastic-job-console

1.首先下载官方的源代码 https://github.com/elasticjob/elastic-job-lite 2.对要使用到的elastic-job-lite-console模块进行mvn install 我这里直接进入到elastic-job-lite-console目录进行mvn install的话是会包错,说找不到elastic-job-lite-lifecycle,所以我就进入elastic-job-lite-lifecycle目录进行mvn install,然后再去elastic-job-lite-console目录进行mvn install,这样就可以了 3.上一步执行成功后就可以elastic-job...

0
0
2019/10/21 11:33

elastic-job的使用

#### 概述: 公司用了elastic-job来执行定时任务和管理定时任务,所以最近研究了一下写了个demo,由于我是把zookeeper部署在了docker上的,所以这里简单介绍下docke的基础命令。 #### 1、Docker基础命令 docker ps 列出当前正在运行的容器 docker ps -a 列出全部的容器 docker rm 容器ID 移除容器 docker images 全部镜像 运行zookeeper: docker run --name elasticzookeeper -p 2181:2181 -v /Users/abc/Desktop/WorkSpace/Do...

0
0
发表了博客
2018/07/11 13:48

elastic-job-lite

1. 为什么不用quartz   通过定时任务来进行计算,如果数量不多,可以轻易的用quartz来完成,如果用户量特别大,可能短时间内处理不完需要处理的数据。另外如果我们将job直接放在我们的webapp里,webapp通常是多节点部署的,这样,项目需要每隔一段时间执行某个定时任务,但是由于同时部署在多台机器上,因此可能会出现任务被执行多次,造成重复数据的情况,我们的job也就是多节点,造成了多个job同时执行,导致job重复执行,为...

0
0
2018/05/18 21:00

elastic job学习

elastic-job是无中心化的分布式定时调度框架,在高可用方案的基础上增加了弹性扩容和数据分片的思路,以便于更大限度的利用分布式服务器的资源。 一、作业系统 作业的必要性 时间驱动 OR 事件驱动 批量处理 OR 逐条处理 非实时性 OR 实时性 系统内部 OR 系统解耦 常见的作业系统 Quartz TBSchedule Crontab 二、elastic-job介绍 elastic-job主要的设计理念是无中心化的分布式定时调度框架,思路来源于Quartz的基于数据库的高可用...

0
0
发表于软件架构专区
2020/03/04 12:27

Elastic-Job原理

概述 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。 功能列表 分布式调度协调 弹性扩容缩容 失效转移 错过执行作业重触发 作业分片一致性,保证同一分片在分布式环境中仅一个执行实例 自诊断并修复分布式不稳定造成的问题 支持并行调度 支持作业生命周期操作 丰富的作业类...

0
0
发表了博客
2019/12/17 20:49

Elastic-Job介绍

1 什么是分布式任务调度 什么是分布式? 当前软件的架构正在逐步转变为分布式架构,将单体结构分为若干服务,服务之间通过网络交互来完成用户的业务 处理,如下图,电商系统为分布式架构,由订单服务、商品服务、用户服务等组成: 分布式系统具体如下基本特点: 1、分布性:每个部分都可以独立部署,服务之间交互通过网络进行通信,比如:订单服务、商品服务。 2、伸缩性:每个部分都可以集群方式部署,并可针对部分结点进行硬件...

0
0
发表了博客
2019/09/03 10:52

Elastic-Job原理

概述 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成。 Elastic-Job-Lite定位为轻量级无中心化解决方案,使用jar包的形式提供分布式任务的协调服务。 功能列表 分布式调度协调 弹性扩容缩容 失效转移 错过执行作业重触发 作业分片一致性,保证同一分片在分布式环境中仅一个执行实例 自诊断并修复分布式不稳定造成的问题 支持并行调度 支持作业生命周期操作 丰富的作业类...

0
0
发表了博客
2018/08/20 18:34

elastic job will never fire

1. 描述 2018-08-20 18:11:01.912 [Thread-8] INFO org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor 2018-08-20 18:11:01.912 [Thread-8] INFO o.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2018-08-20 18:11:01.913 [Thread-8] INFO org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.1 ...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2017/06/08 10:14

elastic-job,zk关闭问题

通过程序添加一个任务让任务跑起来,然后睡眠几秒,之后关闭注册中心会发现程序依旧有在调用。 com.dangdang.ddframe.job.reg.exception.RegException: java.lang.IllegalStateException: instance must be started before calling this method at com.dangdang.ddframe.job.reg.exception.RegExceptionHandler.handleException(RegExceptionHandler.java:49) ~[elastic-job-common-core-2.1.3.jar:na] at com.dangdang.ddframe...

4
0
发表于服务端专区
2019/04/12 07:15

高手问答第 226 期 —— 面对未来架构,如何追赶技术革新的脚步?

身处互联网行业的我们一直处在变革的最前端,受到行业发展浪潮的洗礼,不停歇地追赶着技术革新的脚步。特别是近几年来,互联网架构不断演化,经历了从集中式架构到分布式架构,再到云原生架构的过程。在这个演变过程中,我们可以深刻感受到一系列的格局变化 —— 软件改变世界,开源改变软件,云吞噬开源。每一次架构模式的升级都会给这个世界的合作模式带来变化。 “云原生”因能解决传统应用升级缓慢、架构臃肿、无法快速迭代...

82
49
2019/01/15 19:57

elastic job 可以在程序运行过程中,可以通过API动态修改总分片(shardingTotalCount)数吗?

使用elasticjob 进行任务分批处理,现在需要根据 某项业务不断变化的数量,来动态调整elasticjob 的总分片数。即如下图红色部分,我知道可通过 console 运维工具调整,但我想动态的通过在程序中编写监控模块来定时依据业务数据来调整。 感谢大家,浏览此问题,希望大家伸出援助之手,帮助我这个技术能力欠缺的儿童成长。

3
0
2018/11/19 16:34

elastic job点失效后无法生效

elastic job在控制台点失效后无法生效,版本是2.1.5,在自己笔记本测试没问题,放到内网就不行。

1
0
发表了问答
2017/11/07 20:39

elastic job分片问题

1. 假设我目前分了4片。这时候我在SimpleJob实现类中处理了分片项0-3的逻辑。这时候我在界面修改了该作业改为分成10片。这时候SimpleJob实现类还是只处理了0-3片的逻辑。那其他的我要怎么才能处理到(除了改源码)。2.自定义分片策略,能动态去执行吗?能做到监控进程当达到策略的时候又重新分片?(可能比较基础,但是我看官方文档没看到这类。)希望好心人回复下,谢谢。

1
1
2018/07/23 16:40

elastic-job 怎么修改作业配置信息?

/** * @Description: 创建作业配置 * @Author: 张颖辉(yh) * @Date: 2018/7/20 15:08 * @param: * @return: * @Version: 1.0 */ private static LiteJobConfiguration createJobConfiguration(String jobParameter) { // demoSimpleJob 为jobname, 0/10 * * * * ?为cron表达式, 3 分片数量, 0=北京,1=上海,2=广州 分片对应参数内容, jobParameter 作业自定义参数 ...

7
0
2018/06/01 11:26

elastic-job-lite怎么实现一个job任务,部署两套实现代码,让这个任务在两套代码中执行不重复。

我现在写了A,B两个demo,jobname相同,想要的效果是,这一个定时任务开启之后,A执行定时任务的时候B不执行。B执行的时候A不执行。也就是只会让一个demo执行该定时任务。 现在的问题是,同一个定时任务,两个demo 启动之后,同时都执行了该任务。 求解答一下,谢谢

1
0
发表了问答
2017/06/21 14:42

Elastic-job

各位大神,刚学习使用elast-job,使用javacode启动没有问题,根据安装开发指南使用spring启动的时候报错如下: Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.dangdang.ddframe.job.lite.spring.api.SpringJobScheduler#0': Invocation of init method failed; nested exception is com.dangdang.ddframe.job.reg.exception.RegException: java.l...

4
0
2018/05/28 15:11

elastic job的类改了一下路径,然后报错了

报错如下: overwrite已经设置为true,还是有如上问题,请问怎么修复

3
0
发表了问答
2017/12/03 22:31

xxl-job 和 elastic-job,这两者各有什么优缺点啊

最近在做技术选型,看到最就是xxl-job 和 elastic-job,有没有大神能说说这两者各有什么优缺点啊

2
0
发表了问答
2017/10/20 10:46

elastic-job项目集成springcloud之后启动报错

本人基于springboot + elastic-job实现了一个分布式作业任务,后来因业务需求,项目需集成springcloud,目的是把服务注册到Eureka以方便调用其他服务。不料,在pom.xml文件中导入springcloud依赖后,代码没做任何其他修改,项目在启动过程就直接报错了(要说明的是在集成springcloud之前,项目启动及运行没有任何问题)。 在pom文件中增加的代码如下: <dependencyManagement>     <dependencies>       <dependency>         <groupId>o...

3
0
发表了问答
2017/10/26 21:52

elastic-job 有没有springboot的starter?

如题,我看examples那个springboot教程其实是硬搬的,有没有更好的和springboot的集成方法?

1
0
发表了问答
2017/10/08 15:07

有关elastic-job分片问题

我在配置文件里分了16片,但是实际上获取到的分片项只有3片(分片编号3,7,12),然道会是多个分片被分配到一个线程里面吗?如果是的话,那么如何解决这个问题呢?烦请大神帮忙解答下,非常感谢!!

4
0
发表了问答
2017/09/26 11:48

在监控界面可以配置任务的描述,如何在代码中添加描述信息?

在监控界面可以配置任务的描述,如何在代码中添加描述信息 在yaml文件中修改任务信息,好像不起作用。

2
0
发表了问答
2017/09/12 10:36

两个elastic-job节点,且两个节点有配置keepalived,会导致两个节点都会运行job

我搭建了两个Elastic-Job的节点,同时在这两个节点服务器上,有配置了keepalived给其他组件用(也就是eth0上面绑定了一个内网IP,同时又绑定了一个虚拟IP),结果发现相同的JOB会运行两次,也就是两个节点都同时运行了。如果把keepalived关掉,就只会有一个节点运行了。请问,这个是elastic-job的问题,还是zookeeper的问题呢?有没有办法解决? elastic-job版本:2.0.3 job的配置: <reg:zookeeper id="regCenter" server-list...

10
0
发表了问答
2017/08/30 07:27

Elastic-Job-lite 版本,10个分片,单机每5秒执行一次,为何10个分片是分开执行,而不是同时执行

spring 配置如下: <job:simple  id="demoSimpleSpringJob5" class="com.coderxing.demo.MyElasticJob"  registry-center-ref="regCenter" cron="0/5 * * * * ?" sharding-total-count="10"  reconcile-interval-minutes="1" overwrite="true" /> 代码如下: public class MyElasticJob implements SimpleJob {   /**    * shardingContext 包含作业的分片信息。    */   @Override   public void execute(ShardingContext sha...

2
0
发表了问答
2017/09/15 15:00

elastic-job-lite作业分片后,在单独分片上是否支持多线程处理?可以的话线程数是否可配置?

在测试时发现: 如果一个实例上被分到大于1个分片时候才使用 ExecutorServiceHandler 的业务处理线程池, 而只有一个分片时候没有使用线程池,是单独一个线程在处理。 不知是否是我本地配置问题 希望达到效果是,单独分片上也可以多线程处理,线程数能配置的话更好

2
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
24 评论
514 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部