主要观点总结
本文介绍了作业帮大数据团队基于DolphinScheduler搭建的UDA任务调度平台的优化实践,包括修复DolphinScheduler3.0.0中的问题和稳定性优化,以及巡检流程和未来规划。文章详细描述了生产环境中遇到的问题,如线程泄漏、CPU飙高、任务分配不均等,并针对这些问题进行了详细的解决方案和修复措施。同时,文章还介绍了对历史数据的清理策略和监控面板的搭建,以及日常巡检的关注点和未来的规划。
关键观点总结
关键观点1: 生产环境中遇到的问题及解决方案
包括线程泄漏、CPU飙高、任务分配不均等、Master事件处理卡住等问题,并针对这些问题进行了详细的解决方案和修复措施。
关键观点2: 历史数据清理策略
介绍了对数据库和磁盘历史数据的清理策略,通过添加后台线程组件自动清理无用数据。
关键观点3: 监控面板的搭建
从集群、项目、WorkerGroup和Pod等维度搭建了监控面板和告警,以辅助巡检工作。
关键观点4: 日常巡检的关注点
关注集群、项目、WorkerGroup三个维度下的指标,包括Master Slot变化、集群水位、并发量、资源使用等稳定性指标。
关键观点5: 未来规划
随着业务量和使用场景的扩展,考虑升级DolphinScheduler版本,并反馈所做优化至社区。
文章预览
文|作业帮大数据团队(阮文俊、孙建业)
背 景
基于 DolphinScheduler 搭建的 UDA 任务调度平台有效支撑了公司的业务数据开发需求,处理着日均百万级别的任务量。整个 UDA 的架构如下图所示,其中我们的引擎层主要基于 DolphinScheduler 的 Master 和 Worker 服务搭建,充分利用了 Master 节点优秀的高并发调度能力、worker 节点的分组隔离能力。我们通过一层适配层对 DolphinScheduler 对外暴露的接口进行了封装和增强来适配我们的业务场景。 图 1-1 UDA 任务调度平台架构 随着使用的深入,我们发现 DolphinScheduler3.0.0 版本中存在一些难以通过运维手段规避的问题,这些问题影响数据平台的稳定性,导致隔一段时间需要重启服务来使集群恢复正常,并且核心组件对外暴露的可观测性指标十分有限,导致问题的排查定位过程十分繁琐。我们认为一个可以稳定运行
………………………………