开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2

Easy Scheduler Release 1.0.2

Easy Scheduler 1.0.2是1.x系列中的第三个版本。此版本增加了调度开放接口、worker分组(指定任务运行的机器组)、任务流程及服务监控以及对oracle、clickhouse等支持,具体如下:

新特性:

  • [EasyScheduler-79] 调度通过token方式对外开放接口,可以通过api进行操作
  • [EasyScheduler-138] 可以指定任务运行的机器(组)
  • [EasyScheduler-139] 任务流程监控及Master、Worker、Zookeeper运行状态监控
  • [EasyScheduler-140] 工作流定义—增加流程超时报警
  • [EasyScheduler-134] 任务类型支持Oracle、CLICKHOUSE、SQLSERVER、IMPALA
  • [EasyScheduler-136] Sql任务节点可以独立选取抄送邮件用户
  • [EasyScheduler-141] 用户管理—用户可以绑定队列,用户队列级别高于租户队列级别,如果用户队列为空,则寻找租户队列

增强:

  • [EasyScheduler-154] 租户编码允许纯数字或者下划线这种的编码

修复:

  • [EasyScheduler-135] Python任务可以指定python版本

  • [EasyScheduler-125] 用户账号中手机号无法识别联通最新号码166开头

  • [EasyScheduler-178] 修复ProcessDao里细微的拼写错误

  • [EasyScheduler-129] 租户管理中,租户编码带下划线等特殊字符无法通过校验

感谢:

最后但最重要的是,没有以下伙伴的贡献就没有新版本的诞生:

Baoqi , chubbyjiang , coreychen , chgxtony, cmdares , datuzi , dingchao, fanguanqun , 风清扬, gaojun416 , googlechorme, hyperknob , hujiang75277381 , huanzui , kinssun, ivivi727 ,jimmy, jiangzhx , kevin5210 , lidongdai , lshmouse , lenboo, lyf198972 , lgcareer , lzy305 , moranrr , millionfor , mazhong8808, programlief, qiaozhanwei , roy110 , swxchappy , sherlock111 , samz406 , swxchappy, qq389401879 , lzy305, vkingnew, William-GuoWei , woniulinux, yyl861, zhangxin1988, yangjiajun2014, yangqinlong, yangjiajun2014, zhzhenqin, zhangluck, zhanghaicheng1, zhuyizhizhi

以及微信群里众多的热心伙伴!在此非常感谢!



Easy Scheduler介绍

1、背景

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

2、设计特点

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在线查看
  • 支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计
  • 支持补数
  • 支持多租户
  • 支持国际化
  • 还有更多等待伙伴们探索

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

调度系统对比

5、系统部分截图

开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2

开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2

开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2

6、文档

  • Easy Scheduler后端部署文档
  • Easy Scheduler前端部署文档
  • Easy Scheduler使用手册

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

7、感谢

Easy Scheduler使用了很多优秀的开源项目,比如google的guava、guice、grpc,netty,ali的bonecp,quartz,以及apache的众多开源项目等等,我们也非常感谢oozie、azkaban、airflow等优秀调度作品的出现带给我们的启发,
正是由于站在这些开源项目的肩膀上,才有Easy Scheduler的诞生的可能。对此我们对使用的所有开源软件表示非常的感谢!我们也希望自己不仅是开源的受益者,也能成为开源的
贡献者,于是我们决定把易调度贡献出来,并承诺长期维护。也希望对开源有同样热情和信念的伙伴加入进来,一起为开源献出一份力!

8、后记

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

开源github地址:https://github.com/analysys/EasyScheduler

在线文档地址:https://analysys.github.io/easyscheduler_docs_cn

贡献代码

非常欢迎大家来参与贡献代码,提交代码流程请参考:
https://github.com/analysys/EasyScheduler/blob/master/CONTRIBUTING.md

感谢

Easy Scheduler使用了很多优秀的开源项目,比如google的guava、guice、grpc,netty,ali的bonecp,quartz,以及apache的众多开源项目等等,
正是由于站在这些开源项目的肩膀上,才有Easy Scheduler的诞生的可能。对此我们对使用的所有开源软件表示非常的感谢!我们也希望自己不仅是开源的受益者,也能成为开源的
贡献者,于是我们决定把易调度贡献出来,并承诺长期维护。也希望对开源有同样热情和信念的伙伴加入进来,一起为开源献出一份力!

帮助

The fastest way to get response from our developers is to submit issues, or add our wechat : 510570367

另外我们部署了一个单机版本的小demo,想体验的伙伴,请访问 http://52.82.13.76:8888 欢迎联系体验(wechat : 510570367), 涉及多人修改的问题,管理员登录暂不开放!欢迎提建议!

转载于:https://blog.51cto.com/dailidong/2385450

你可能感兴趣的:(开源分布式任务工作流调度系统Easy Scheduler Release 1.0.2)