API数据平台的构建与应用(集中管理和分析API数据)
419
2022-11-14
分布式调度系统-DolphinScheduler
前提
数据平台(BP)建设过程中,会涉及大量的数据采集、处理、计算等方面的工作,而且随着需求的增加要承担的任务越来越多。迫切需要一个简单易用、支持可视化管理的调度系统,考虑到要将现有的定时任务从crontab快速迁移到新调度系统,且要易于部署管理,方便扩展,支持HA等要求。调研了多款调度系统如airflow、azkaban、gocron、DolphinScheduler等系统。几个调度平台之间各有亮点,最终选择了国产开源的调度系统 DolphinScheduler。
DolphinScheduler 在数据平台中的功能定位
DolphinScheduler 简介
分布式易扩展的可视化DAG工作流任务调度系统,Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度系统。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
特性
高可靠性:
去中心化的多Master和多Worker, 自身支持HA功能, 采用任务队列来避免过载,不会造成机器卡死。
简单易用:
DAG监控界面,所有流程定义都是可视化,通过拖拽任务定制DAG,通过API方式与第三方系统对接, 一键部署。
丰富的使用场景:
支持暂停恢复操作. 支持多租户,更好的应对大数据的使用场景. 支持更多的任务类型,如 spark, hive, mr, python, sub_process, shell。
高扩展性:
支持自定义任务类型,调度器使用分布式调度,调度能力随集群线性增长,Master和Worker支持动态上下线。
主要功能如下:
以DAG图的方式将Task按照任务的依赖关系关联起来,可实时可视化监控任务的运行状态支持丰富的任务类型:Shell、MR、Spark、SQL(mysql、postgresql、hive、sparksql),Python,Sub_Process、Procedure等支持工作流定时调度、依赖调度、手动调度、手动暂停/停止/恢复,同时支持失败重试/告警、从指定节点恢复失败、Kill任务等操作支持工作流优先级、任务优先级及任务的故障转移及任务超时告警/失败支持工作流全局参数及节点自定义参数设置支持资源文件的在线上传/下载,管理等,支持在线文件创建、编辑支持任务日志在线查看及滚动、在线下载日志等实现集群HA,通过Zookeeper实现Master集群和Worker集群去中心化支持对Master/Worker cpu load,memory,cpu在线查看支持工作流运行历史树形/甘特图展示、支持任务状态统计、流程状态统计支持补数支持多租户支持国际化还有更多等待伙伴们探索
服务架构
项目活跃程度
后续
本次介绍调度平台仅为数据平台框架中一个组件,笔者使用全开源框架规划了一套BI框架,可以满足企业日常数据分析、处理、展示需要,后续将会持续更新相关组件,请持续关注本站。
参考信息:
中国官网:https://dolphinscheduler.apache.org/zh-cn/
项目地址:https://github.com/apache/incubator-dolphinscheduler
那些公司在用:https://github.com/apache/incubator-dolphinscheduler/issues/57
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~