开源分布式工做流任务调度系统Easy Scheduler 1.0.1正式发布

开源分布式工做流任务调度系统Easy Scheduler 1.0.1正式发布

License

一、背景

在多位技术小伙伴的努力下,通过近2年的研发迭代、内部业务剥离及重构,也经历一批种子用户试用一段时间后,EasyScheduler终于迎来了第一个正式开源发布版本 -- 1.0.1。 相信作过数据处理的伙伴们对开源的调度系统如oozie、azkaban、airflow应该都不陌生,在使用这些调度系统中可能会有这样的体验:好比配置工做流任务不能可视化、任务的运行状态不能实时在线查看、 任务运行时不能暂停、不能支持参数传递、不能补数、不能多租户使用、调度系统不高可用等等问题所烦扰过。Easy Scheduler正是在这种背景下应运而生,其目标就是为使调度更加easy,更能够从其中文名“易调度”看出咱们的初衷。html

二、设计特色

Easy Scheduler是一个分布式工做流任务调度系统,主要解决数据研发ETL错综复杂的依赖关系所带来的各类问题。 其主要目标以下:前端

  • 以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态
  • 支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等
  • 支持工做流定时调度、依赖调度、手动调度、手动暂停/中止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操做
  • 支持工做流优先级、任务优先级及任务的故障转移及任务超时告警/失败
  • 支持工做流全局参数及节点自定义参数设置
  • 支持资源文件的在线上传/下载,管理等,支持在线文件建立、编辑
  • 支持任务日志在线查看及滚动、在线下载日志等
  • 实现集群HA,经过Zookeeper实现Master集群和Worker集群去中心化
  • 支持对Master/Worker cpu load,memory,cpu在线查看
  • 支持工做流运行历史树形/甘特图展现、支持任务状态统计、流程状态统计
  • 支持补数
  • 支持多租户
  • 支持国际化
  • 还有更多等待伙伴们探索

四、与同类调度系统的对比

调度系统对比

五、系统部分截图

六、文档

更多文档请参考: Easy Scheduler中文在线文档mysql

七、感谢

Easy Scheduler使用了不少优秀的开源项目,好比google的guava、guice、grpc,netty,ali的bonecp,quartz,以及apache的众多开源项目等等,咱们也很是感谢oozie、azkaban、airflow等优秀调度做品的出现带给咱们的启发, 正是因为站在这些开源项目的肩膀上,才有Easy Scheduler的诞生的可能。对此咱们对使用的全部开源软件表示很是的感谢!咱们也但愿本身不只是开源的受益者,也能成为开源的 贡献者,因而咱们决定把易调度贡献出来,并承诺长期维护。也但愿对开源有一样热情和信念的伙伴加入进来,一块儿为开源献出一份力!git

八、后记

Easy Scheduler于2019.03.28号正式开源后,仅仅一周时间,咱们就感觉到了伙伴们对Easy Scheduler的极大热情,不少伙伴提出使用反馈,还有一些伙伴是直接就找到相应的源代码来提问题或给出更好的建议、甚至直接在Easy Scheduler上撸袖子写代码, 这给咱们目前的主要开发者予以极大的精神鼓舞,很是感谢伙伴们这么热情和信任咱们,咱们会和你们一道继续奔走在使调度系统开箱即用这条大道上,为使"数据能力平民化"添砖加瓦,为数据时代贡献本身的激情和汗水!github

开源github地址:github.com/analysys/Ea…sql

在线文档地址:analysys.github.io/easyschedul…apache

码云地址: gitee.com/easyschedul…后端

相关文章
相关标签/搜索