《基于 DolphinScheduler 构建分布式大数据调度平台实践_代立冬.pdf》由会员分享,可在线阅读,更多相关《基于 DolphinScheduler 构建分布式大数据调度平台实践_代立冬.pdf(34页珍藏版)》请在三个皮匠报告上搜索。
1、代立冬Apache DolphinScheduler PMC ChairApache Foundation Member Apache 孵化器导师基于基于 DolphinSchedulerDolphinScheduler构建分布式大数据调度平台实践构建分布式大数据调度平台实践Contents目 录01Apache DolphinScheduler-新一代工作流任务调度平台介绍02DolphinScheduler 架构设计迭代实践03OceanBase 数据源实践04DolphinScheduler Roadmap01Apache DolphinScheduler新一代工作流任务调度平台介绍Do
2、lphinSchedulerDolphinScheduler 是一个云原生并带有强大可视化界面的大数据工作流调度平台Apache DolphinScheduler 简介目前已累计有 3000+公司在生产上使用。DS 致力于在数据工作流编排中“解决复杂的大数据任务间的依赖及触发关系,让各大数据任务类型开箱即用”Apache DolphinScheduler UI简单易用高可靠性去中心化的多 Master 和多 Worker,自身高可用能力采用任务队列来避免过载,不会造成机器卡死一键部署 简化部署,易维护可视化界面,所有流程定义都是可视化,通过拖拽任务形成工作流模板支持 Open API 方式与第
3、三方系统对接Apache DolphinScheduler 调度平台特点高扩展性、云原生能力丰富的使用场景支持暂停恢复及停止等丰富操作支持多租户,权限管理等大数据应用场景支持 30+种任务类型,如 Spark,Flink,Hive,MR,Python,Shell 等支持自定义任务类型调度能力随集群线性增长弹性伸缩,Master 和 Worker 支持动态上下线Apache DolphinScheduler 调度平台数据加工平台任务监控总览流程实例状态查看任务执行状态回溯任务执行日志查看数据源管理:可视化配置、多数据源格式支持1.支持可视化的数据源包括:MySql、PostgerSql、Hive
4、、Impala、Spark、ClickHouse、Oracle、SqlServer、DB2、MongoDB等。平台采用插件式设计,支持自由扩展数据源支持。2.可视化的数据源管理,数据源统一集中管理,一次配置,到处使用,大大减少配置修改带来的工作量。也方便后续数据血缘关系的处理数据源管理:可视化配置、多数据源格式支持1.支持多数据源数据的加工、数据导入导入脚本统一管理,包括python、shell、jar包、R等多种格式。2.多层级结构确保文件管理层次清晰,避免资源文件散乱难以维护。数据源管理:可视化配置、多数据源格式支持任务流程多策略支持确保ETL过程可管理:支持任务失败策略选择,失败继续或结
5、束支持多种通知策略1.失败发送通知2.成功发送通知3.全部通知4.全部不发通知支持优先级设定,确保高优先级流程优先执行支持选定节点执行ETL任务流支持串行与并行两种执行方式02DolphinScheduler 架构设计迭代实践数据源管理:可视化配置、多数据源格式支持去分布式锁设计1.X原先设计Master现状MasterSchedulerService获取分布式锁同时轮询command生成ProcesslnstanceMasterExecThread构建DAG轮询工作流实例生成任务实例MasterTaskExecThread提交执行任务轮询任务状态取消/暂停/停止任务MasterWorkerW
6、orkerWorkerDBZKClusterAccess LockSend TaskSend TaskSend Task去分布式锁设计新版本设计Master根据自己的分片编号采用合适的算法计算属于自己的command的槽位Master根据槽位查询数据库获得command,井生成processlnstance构造DAG,生成任务实例,提交执行任务MasterWorkerWorkerWorkerDBSend TaskSend TaskSend Task根据自己的分片编号计算Command槽位Master线程模型重构2.X版本设计MasterSchedulerServiceThreadPoolWor