- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
冯剑-DolphinScheduler在集度新能源汽车多样化场景的实践
展开查看详情
1 . 2023 DolphinScheduler 在集度新能源汽车多 样化场景的实践 主讲人:冯剑 集度-大数据开发工程师
2 .目录 CONTENTS 01 公司简介 02 场景介绍 03 平台化改造 04 未来展望
3 . 01 公司介绍 公司简介
4 .公司介绍 集度是一家汽车机器人创业公司,成立于2021 年3月,由百度和吉利联合投资。集度致力于全球顶尖的自动 驾驶、人机交互科技的工程研发和商业化普及,打造拥有情感和智慧的革命性汽车机器人,还人们更多空间与 时间,实现更多可能。
5 .02 业务挑战 场景介绍 应用场景
6 . 业务挑战 任务多且高并发 任务类型丰富 数据源多样化 • 每日累计任务数2万以上 • 离线任务为主,Python、SQL、 • 结构化数据 源:MySQL、 Shell、Sqoop、Depend任务类型 SQLServer、Doris、Hive、 • 凌晨ODS数据同步任务并发数1万 占90% HANA等 左右 • 其他任务类型:Flink、 • 非结构:ElasticSearch、Kafka ChunJun(FlinkX)、Spark core、 等 HTTP 去中心化可以动 DAG界面化操作 态扩/缩容 任务类型丰富 数据源种类丰富 可视化运维方便 多租户 简单 Master和 Worker
7 .应用场景 用户画 像 其他研 BI可视 发定时 离线数仓 化 需求 数据质 量
8 . 03 常见问题 平台化改造 优化方案 架构设计
9 .常见问题 并发高丢任务 Worker重启失败 缺少业务属性时间变量 无法全局补数
10 .优化方案 并发高丢任务 第一种方式改源码,已经提交社区 • withMisfireHandlingInstructionIgnoreMisfires 所有被misfire的执行会被立即执行,然后按照正常调度继续执行trigger • withMisfireHandlingInstructionDoNothing 所有被misfire的执行都被忽略掉,调度器会像平时一样等待下次调度。 第二种方式修改conf/quartz.properties ,将等待时间有60秒改为1 800秒 org.quartz.jobStore.misfireThreshold = 1800000
11 . 优化方案 缺少业务属性时间变量 month_last_day 月末最后一天 month_first_day 月初第一天 year_week 年的第N周,以周M为起点 week_first_day 每周周一 week_last_day 每周周末 … Work重启失败 原因是worker failover之后master会将重启的worker置为dead_node,等到failover任务分发出 去之后才能正常重启。目前解决手段比较简单粗暴,等待zk中的failover任务记录被清除出之后, worker再重启
12 .优化方案 无法全局补数 我们也遇到过任务批量失败导致后置任务(跨工作流)批量失败,手动重启后置任务成本太高。 思考: 1 .修改后置依赖逻辑,由失败改为一直等待状态,问题是后置任务超过1 w+,会导致master分发 任务线程池打满,导致调度系统夯住 2.自己封装此功能,落地平台功能,最终我们选择这种方案
13 .架构设计 数据集成开发平台架构 元数据 任务血缘 管理 任务调 数据地 数据集成 度 图 数据质量 Ad-Hoc
14 . 架构设计 任务组织形式 任务粒度(工作流=任务) 1 . 1 .任务变更维护灵活 优点 2.2.依赖关系维护成本低 3. 3.自研平台检索任务 1 .任务并发高 缺点 2.依赖补数成本高 工作流(画布)方式 1 . 1 .图形化界面操作 优点 2. 2.工作流依赖执行方便 缺点 1 .任务变更维护成本高
15 .04 未来展望 未来展望
16 .未来展望 • 凌晨批任务多,白天任 务少 DS on K8S • Work节点弹性伸缩降低 成本 完善Ad- Hoc IDE功 能 • 任务编辑测试完成后一 键上线调度任务 DS升级3.X • 完善数据质量 • 完善任务血缘 • 新功能
17 .Website: https://dolphinscheduler.apache.org GitHub:https://github.com/apache/dolphinscheduler Wehchat:海豚调度 Slack: https://s.apache.org/dolphinscheduler-slack Twitter : @dolphinschedule Video:https://space.bilibili.com/515596012
18 . THANKS! Ending