Apache DolphinScheduler · Apache DolphinScheduler简介 Apache...

24
Apache DolphinScheduler - 分布式易扩展的可视化 ETL 调度系统 代立冬 PPMC & 易观大数据平台总监

Transcript of Apache DolphinScheduler · Apache DolphinScheduler简介 Apache...

Page 1: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Apache DolphinScheduler

- 分布式易扩展的可视化 ETL 调度系统

代立冬PPMC & 易观大数据平台总监

Page 2: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 部分用户案例(排名不分先后)

Fordeal

Page 3: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 社区情况

头条易观

腾讯 京东

平安华为

陌陌 观远 多点

阿里

趣加

小米

滴滴

中移动 荔枝

贡献者分布

360

同程

Page 4: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

缘何研发DolphinScheduler ?

可视化DAG

依赖

调用高可用

任务日志/告警机制

流程可容错能力

01

02

03

04

05

简单易操作实时查看运行状态每天数万任务运行

失败重试、回滚、转移简单可维护

任务自依赖流程依赖等

便于排错易维护丰富的任务类型

跨语言自定义插件机制

调度需求

Page 5: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Apache DolphinScheduler 简介

Apache DolphinScheduler是一个分布式易扩展的

可视化DAG工作流任务调度开源系统。解决数据研

发ETL 错综复杂的依赖关系,不能直观监控任务健

康状态等问题。DolphinScheduler以DAG流式的方

式将Task组装起来,可实时监控任务的运行状态,

同时支持重试、从指定节点恢复失败、暂停及Kill任

务等操作

Page 6: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Apache DolphinScheduler 特性

简单易用高可靠性

丰富的使用场景 高扩展性

去中心化的多Master和多Worker, 自

身支持HA功能,实现超大规模任务调

度,采用任务队列和自身保护机制来

避免过载,不会造成机器卡死

DAG监控界面,所有流程定义都是可视化,通过拖拽任务定制DAG,通过API方式与第

三方系统对接, 一键部署

支持暂停恢复操作. 支持多租户,更好

的应对大数据的使用场景. 支持更多的

任务类型,如 spark, hive, mr, python,

sub_process, shell

支持自定义任务类型,调度器使用分布式调度,

调度能力随集群线性增长,Master和Worker支

持动态上下线

Page 7: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Apache DolphinScheduler 能力

• Task以DAG形式关联,

实时监控任务的状态。

• 支持Shell、MR、Spark、SQL、依赖等10多种任务类型。

• 工作流可定时、依赖、手

动、暂停/停止/恢复

• 工作流优先级、任务优先级,全局参数及局部自定义参数

• 完善的系统服务监控,任

务超时告警/失败。

• 支持补数、多租户、日志

在线查看及资源在线管理

• 支持每日十万数据量级任务稳定运行

• 去中心化设计确保系统的稳定、高可用。

Page 8: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 前世

Page 9: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 今生 - 1.3.0

ü 数据库减压,减少极端情况下的可能造成的调度延时

ü Worker去DB、职责更单一

ü Master和Worker直接通信,降低延时

ü Master多种策略分发任务- Worker节点的三种选择:随机、循环和CPU和内存的线性加权负载平衡

Page 10: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – 资源中心多目录

Page 11: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – Datax

自定义模板

Page 12: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – Sqoop

Page 13: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – 条件分支

Page 14: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – Ambari插件

Page 15: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – K8S 支持

优点:动态扩展Graceful shutdown本身的维护成本低

缺点:K8S运维经验

待实现:任务Log需要持久化共享存储

Page 16: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – DAG一键格式化

适合open api调用场景

Page 17: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性

ü 支持Windows系统运行任务

ü 批量导出和导入工作流

ü 工作流复制

ü 删流程实例级联删除任务日志

ü 简化配置,优化部署体验

ü 完善自动化CI、CD

ü 添加钉钉告警

Page 18: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 1.3.0 新特性 – 流程图美化

Page 19: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler Roadmap

总体依照社区需求和关注度来安排功能优先级

o master重构:建立 api和 master直接通信等o 任务参数传递o 任务类型插件化Plugino 工作流触发o 数据质量o 工作流血缘关系o 列表依赖(上游依赖)o 告警服务化,提供APIo 支持多集群上线发布o 工作流版本管理o 权限改造o Easy to use

如果有好建议或有兴趣,欢迎邮件讨论

更多参考 work plan: https://github.com/apache/incubator-dolphinscheduler/projects/1

Page 20: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

DolphinScheduler 项目发展历程

2017.12

2018.05

2019.02

2019.03

2019.05

2019.08外部种子用户使用3月30号正式对外开源 –

1.0.0版本

决定开源花了2个月进行重构升级

内部使用千帆产品线使用

DolphinScheduler架构设计

进入apache孵化器

1.0.1、1.0.2、1.0.3

相继推出1.0.1、1.0.2、1.0.3版本

Apache第一个版本1.2.0

2019.12…

Page 21: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Slogan

SUCCESS

工具选的好

调度用的对 半夜安心睡

下班回家早

zz

zzz z

Page 22: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

企业自有大数据平台/数据仓库

开放的技术 开放的社区开放的PaaS

方舟 Java/C/PHP Edge SDK 方舟 Android/iOS Edge SDKDB Connectors 方舟IOT Edge SDK

数据调度Dolphin Scheduler

调度管理

DAG处理

重跑重试

数据安全鉴权

报警监控

Query Proxy API

应用层

数据层

UBA OLAP自助查询EA Data Maining AI自建系统

企业大数据BI/企业大数据Dashboard

服务层

接收层

边缘计算

Netty 方舟 Queue KafKa 策略配置

方舟 数据传输接收平台 企业数据传输接收平台

数据处理模型

快速存储

Mysql

Mongo …

数据存储引擎

HBaseHive

Teradata/Greenplum…

展示层

JDBC-SQL Restful-API

数据管理

任务调度Dispatch

资源管理Yarn

服务监控Monitor

Profile

MergerMR

Event

DumpMR

方舟 即时查询引擎秒算

SQL JDBC API

营销引擎

认证中心

权限中心

算法中心

接入控制

Redis连接器

DS调度让易观方舟智能数据平台与企业数仓融合,打造统一数据平台

Page 23: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

Ø 在线DEMO: http://106.75.43.194:8888/

Ø 官网:https://dolphinscheduler.apache.org

Ø 开源地址: https://github.com/apache/incubator-dolphinscheduler

获得帮助:

ØSubmit an issue

ØMail to [email protected], follow the reply to subscribe the mail list.

DolphinScheduler 资源

欢迎加入贡献队伍:https://dolphinscheduler.apache.org/zh-cn/docs/development/contribute.html

Page 24: Apache DolphinScheduler · Apache DolphinScheduler简介 Apache DolphinScheduler是一个分布式易扩展的 可视化DAG工作流任务调度开源系统。解决数据研 发ETL

n 易观千帆 n 易观万像n 易观方舟

网址: www.analysys.cn

客户热线:4006-010-230 / 4006-010-231

微博:@Analysys易观

数据驱动 精益成长

加入社区