- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
⼯作流调度系统ApacheDolphinScheduler 介绍和设计原理
1概述
(⽬前处在孵化阶段)是⼀个分布式、去中⼼化、易扩展的可视化DAG⼯作流任务调度系统,其致⼒于解决数据处理流程中错综复杂的依赖
关系,使调度系统在数据处理流程中开箱即⽤。
DolphinScheduler是今年(2019年)中国公司开源的⼀个调度系统,在今年,易观开源的分布式任务调度引擎DolphinScheduler(原
EasyScheduler),根据Apache基⾦会邮件列表显⽰,在包含11个约束性投票(binding votes)和2个⽆约束性投票(non-binding votes)
的投票全部持赞同意见,⽆弃权票和反对票,投票顺利通过,这样便以全票通过的优秀表现正式成为了Apache孵化器项⽬!
1.1背景
在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, 等令开发者称赞的项⽬。这次他们在公司的⽀持
下,积极地将⾃⼰开发的调度⼯具推动开源,旨在回馈开源的同时,助⼒打造⼀个更为强⼤的开源⽣态。如果跃跃欲试的想去贡献代码的,
贡献流程可以参考这篇博客:。
团队在2019年3⽉初,⼩范围(10多家公司)开放了DS的种⼦⽤户试⽤,得到了⾮常正能量的反馈,在4⽉初的正式对外开放源码后,很快
就获得了许多开发⼈员的关注兴趣,⽬前github上的star现在已超过1700个,参与开发和使⽤的公司包括嘀嗒出⾏、雪球、凤凰⾦融、⽔
滴互助、华润万家等,更详细的可以查看:。
1.2特点
DolphinScheduler提供了许多易于使⽤的功能,可加快数据ETL⼯作开发流程的效率。其主要特点如下:
通过拖拽以DAG 图的⽅式将 Task 按照任务的依赖关系关联起来,可实时可视化监控任务的运⾏状态;
⽀持丰富的任务类型;
⽀持⼯作流定时调度、依赖调度、⼿动调度、⼿动暂停/停⽌/恢复,同时⽀持失败重试/告警、从指定节点恢复失败、Kill 任务等操作;
⽀持⼯作流全局参数及节点⾃定义参数设置;
⽀持集群HA,通过 Zookeeper实现 Master 集群和 Worker 集群去中⼼化;
⽀持⼯作流运⾏历史树形/⽢特图展⽰、⽀持任务状态统计、流程状态统计;
⽀持补数,并⾏或串⾏回填数据。
2系统架构
2.1名词解释
流程定义:通过拖拽任务节点并建⽴任务节点的关联所形成的可视化DAG
流程实例:流程实例是流程定义的实例化,可以通过⼿动启动或定时调度⽣成,流程定义每运⾏⼀次,产⽣⼀个流程实例
任务实例:任务实例是流程定义中任务节点的实例化,标识着具体的任务执⾏状态
任务类型: ⽬前⽀持有SHELL、SQL、SUB_PROCESS(⼦流程)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依
赖),同时计划⽀持动态插件扩展,注意:其中⼦ SUB_PROCESS 也是⼀个单独的流程定义,是可以单独启动执⾏的
调度⽅式: 系统⽀持基于cron表达式的定时调度和⼿动调度。命令类型⽀持:启动⼯作流、从当前节点开始执⾏、恢复被容错的⼯作
流、恢复暂停流程、从失败节点开始执⾏、补数、定时、重跑、暂停、停⽌、恢复等待线程。其中 恢复被容错的⼯作流 和 恢复等待线
您可能关注的文档
- 企业文档管理系统-文档资料.pdf
- 禅道项目管理系统实施说明.pdf
- 《精选18套试卷》辽宁省大连西岗区七校联考2021年物理八年级第二学期期末学业水平测试试题含解析.pdf
- 2022年辽宁省普通高中学生学业水平考试信息技术真题.pdf
- 辽宁省抚顺一中2020学年高一英语下学期学业水平模拟测试试题.pdf
- 辽宁省沈阳市2015年学业水平测试预测数学试题2 Word版含答案.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷A卷.pdf
- 辽宁省辽阳市二年级下册语文期中学业水平测试卷D卷.pdf
- 辽宁省沈阳市2018年学业水平测试预测数学试题1Word版含答案.pdf
- 2019-2020学年辽宁省朝阳市英语八年级(上)期末学业水平测试模拟试题.pdf
文档评论(0)