Skip to content

认识 DolphinScheduler

你总是会需要定时执行各种类型的任务,这些任务之间还可能存在着各种依赖关系。面对这样的问题别说做了,单是想想都觉得脑壳疼。

这个场景在数据开发领域十分的常见,那么怎么才能很好的解决这些个问题呢?本文则为大家介绍一个工作流任务调度开源系统——DolphinScheduler。

什么是DolphinScheduler

Apache DolphinScheduler是一个分布式易扩展的可视化DAG工作流任务调度开源系统,旨在解决复杂的大数据任务依赖关系,并为应用程序提供数据和各种 OPS 编排中的关系。

DolphinScheduler 以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。

解决数据研发ETL依赖错综复杂,无法监控任务健康状态的问题。

DolphinScheduler的特性

简单易用
  • 可视化DAG

用户友好的,通过拖拽定义工作流的,运行时控制工具

  • 模块化操作

模块化有助于轻松定制和维护

丰富的使用场景
  • 支持多种任务类型

支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展

  • 丰富的工作流操作

工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数

高可靠性

去中心化设计,确保稳定性。 原生 HA 任务队列支持,提供过载容错能力。 DolphinScheduler 能提供高度稳健的环境。

高扩展性

支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。

DolphinScheduler部署方式

支持四种部署方式:

  • 单机部署

仅适用于 DolphinScheduler 的快速体验

  • 伪集群部署

在单台机器部署 DolphinScheduler 服务,该模式下 master、worker、api server 都在同一台机器上

  • 集群部署

在多台机器部署 DolphinScheduler 服务,用于运行大量任务情况。

  • Kubernetes部署

在 Kubernetes 集群中部署 DolphinScheduler 服务,能调度大量任务,可用于在生产中部署。

对于刚接触DolphinScheduler的同学,推荐使用单机部署的方式快速体验。

进阶

如果有任务调度需求的场景,可以尝试使用DolphinScheduler。丰富的任务类型可以满足我们实际场景下复杂的逻辑。如果你想要进一步了解DolphinScheduler,可以关注:遇码,回复ds获取官方文档。

遇码MeetCoding 开源技术社区