全票通过!易观开源项目 DolphinScheduler 进入 Apache 孵化器
“Welcome to Apache incubator,DolphinScheduler!”
美国时间2019年8月29日
根据Apache基金会邮件列表显示,在包含11个约束性投票(binding votes)和2个无约束性投票(non-binding votes)的投票全部持赞同意见,无弃权票和反对票,投票顺利通过。
易观贡献的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初长成
易观技术团队——这一支自百度、阿里、百分点、Ptmind、热云等团队的“数据极客”,秉持易观“让数据能力平民化”的初心,积极拥抱开源,曾贡献过Presto Hbase Connector, Presto Kudu Connector等令开发者称赞的项目。此次在公司的支持下,也积极将自己的开发的调度工具推动开源,旨在回馈开源的同时,助力打造更为强大的开源生态。
团队在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:
Champion:
Sheng Wu ( Apache Incubator PMC, Apache officer, wusheng@apache.org)
Mentors:
Sheng Wu ( Apache Incubator PMC, Apache officer, wusheng@apache.org)
ShaoFeng Shi ( Apache Incubator PMC, shaofengshi@apache.org)
Liang Chen ( Apache Incubator PMC, Apache member, chenliang613@apache.org)
Furkan KAMACI ( Apache Incubator PMC, Apache member, kamaci@apache.org)
Kevin Ratnasekera ( Apache Incubator PMC, Apache member, djkevincr@apache.org)
initial committers:
William-GuoWei
Lidong Dai
Zhanwei Qiao
Liang Bao
Gang Li
Zijian Gong
Jun Gao
Baoqi Wu
积极参与的贡献者:
chongchongzi 、lfyee 、mnloveyx 、李林 、白强 、杨孟霏、胡将、王金海 、风清扬、林忠俊 、jiangzhx 、HangtongLee、hymzcn、jimmy201602、feloxx、xianhu、yangqinlong、hebin、shafi-1、mchcz、jamescheng16、xtony、chekore、LgbDemo、马泽国、刘小春、 Crossoverrr、jxauwxj
此外还要感谢数百位提出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:
版权声明: 本文为 InfoQ 作者【易观大数据】的原创文章。
原文链接:【http://xie.infoq.cn/article/e45db35e2729c70af7ed610aa】。文章转载请联系作者。
评论