美国时间 2019 年 8 月 29 日,易观开源的分布式任务调度引擎 DolphinScheduler(原 EasyScheduler)正式通过顶级开源组织 Apache 基金会的投票决议,以全票通过的优秀表现正式成为 Apache 孵化器项目。
根据 Apache 基金会邮件列表显示,在包含 11 个约束性投票(binding votes)和 2 个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过。
“Welcome to Apache incubator,DolphinScheduler!”
易观贡献的 DolphinScheduler 进入 Apache 孵化器,是易观开源项目的重要里程碑, DolphinScheduler 社区将遵循「The Apache Way」,秉承更加兼容并包与开放多样化的心态,由衷欢迎更多的开发者参与到社区中来,Committer 虚位以待!
DolphinScheduler 是一个分布式易扩展的可视化 DAG 工作流任务调度系统,致力于解决数据处理流程中错综复杂的依赖关系,同时具有强大的可视化操作界面。DolphinScheduler 曾用名为“EasyScheduler”,由于名称已在国外某 App 使用,经社区讨论与投票后改名为 DolphinScheduler,简称”DS”, 中文名 “小海豚调度”(海豚聪明、人性化,有左右脑可互相换班,终生不用睡觉)。我们希望 DolphinScheduler 就像它的名字一样,成为一个“开箱即用”的灵活易用的调度系统。
易观缘何开发 DolphinScheduler?
2017 年,易观在运营自己 6.8Pb 大小、6.02 亿月活、每天近万个调度任务的大数据平台时,受到 ETL 复杂的依赖关系、平台易用性、可维护性及二次开发等方面掣肘,我们渴望找到一个具有以下功能的数据调度工具:
易于使用,开发人员可以通过非常简单的拖拽操作构建 ETL 过程。不仅对于 ETL 开发人员,无法编写代码的人也可以使用此工具进行 ETL 操作,例如系统管理员和分析师
解决“复杂任务依赖”问题,并且可以实时监视 ETL 运行状态
支持多租户
支持许多任务类型:Shell,MR,Spark,SQL(mysql,postgresql,hive,sparksql),Python,Sub_Process,Procedure 等
支持 HA 和线性可扩展性
易观技术团队意识到现有开源项目没有能够达到我们要求的,因此决定自行开发这个工具。我们在 2017 年底设计了 DolphinScheduler 的主要架构;2018 年 5 月完成第一个内部使用版本,后来我们又迭代了几个内部版本后,系统逐渐稳定下来。
家有 DolphinScheduler 初长成
易观 DS 团队——这一支自百度、阿里、百分点、Ptmind、热云等团队的“数据极客”,秉持易观“让数据能力平民化”的初心,积极拥抱开源,曾贡献过 Presto Hbase Connector, Presto Kudu Connector 等令开发者称赞的项目。此次在公司的支持下,也积极将自己的开发的调度工具推动开源,旨在回馈开源的同时,助力打造更为强大的开源生态。
易观 DS 团队在 2019 年 3 月初,小范围(10 多家公司)开放了 DS 的种子用户试用,得到了非常正能量的反馈,在 4 月初的正式对外开放源码后,很快就获得了许多开发人员的关注兴趣,目前 github 上的 star 现在已超过 1700 个,参与开发和使用的公司包括嘀嗒滴答出行、雪球、凤凰金融、水滴互助、华润万家等(参见https://github.com/apache/incubator-dolphinscheduler/issues/57)。
DolphinScheduler 的特点
DolphinScheduler 提供了许多易于使用的功能,可加快数据 ETL 工作开发流程的效率。其主要特点如下:
通过拖拽以 DAG 图的方式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态
支持丰富的任务类型
支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill 任务等操作
支持工作流全局参数及节点自定义参数设置
支持集群 HA,通过 Zookeeper 实现 Master 集群和 Worker 集群去中心化
支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计
支持补数,并行或串行回填数据
目前,DolphinScheduler 在中国已经拥有了一个 1300 多位伙伴组成的用户及开发者社区。它也被许多公司和组织广泛采用作为其 ETL 调度工具。我们热烈欢迎更多的用户和开发者加入到贡献的队伍中来,让我们国人开源的调度引擎在世界开源生态中占据一席之地。
特别感谢愿意给 DolphinScheduler 提供指导的 champion 和 mentors,以及数百位提出 issue 和建议以及使用的伙伴们的贡献和大力支持;感谢在项目早期提出指导的来自华为、京东、teradata、百分点、趣头条等公司负责调度的伙伴。
同时感谢 GitHub mybatis-plus社区 ,在得知 DolphinScheduler 想使用 mybatis-plus 来支持多数据库,特地发版去掉了 NPL 协议;感谢易观前端团队开源的高质量 UI 组件库ans-ui。
写在最后
我们坚信将 DolphinScheduler 引入 Apache 可以推动更强大,更多样化的开源社区的发展。我们将努力践行“Community Over Code”的 Apache 文化,同时欢迎更多的公司和个人参与到开发者队伍中来,让 DolphinScheduler 社区更加健壮、健康的发展,让更多人享受开源带来的技术革命!
目前 DolphinScheduler 的所有源代码和所有相关文档已捐赠给 Apache Software Foundation。这些代码已经在 Apache License Version 2.0 下:
代码库:https://github.com/apache/incubator-dolphinscheduler
文档:https://analysys.github.io/easyscheduler_docs_cn/
在线 demo:http://106.75.43.194:8888
评论 2 条评论