Skip to content

DolphinScheduler简介

1. DolphinScheduler概述

Apache DolphinScheduler是一个分布式、易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。 Alt text

2. 特性

  1. 简单易用
    可视化DAG: 用户友好的,通过拖拽定义工作流的,运行时控制工具
    模块化操作: 模块化有助于轻松定制和维护。
  2. 丰富的使用场景
    支持多种任务类型: 支持Shell、MR、Spark、SQL等10余种任务类型,支持跨语言,易于扩展 丰富的工作流操作: 工作流程可以定时、暂停、恢复和停止,便于维护和控制全局和本地参数。
  3. High Reliability
    高可靠性: 去中心化设计,确保稳定性。原生HA任务队列支持,提供过载容错能力。DolphinScheduler提供高度稳健的环境。
  4. High Scalability
    高扩展性: 支持多租户和在线资源管理。支持每天10万个数据任务的稳定运行。

3. DolphinScheduler核心架构

Alt text DolphinScheduler的主要角色如下:

  • MasterServer采用分布式无中心设计理念,MasterServer主要负责DAG任务切分、任务提交、任务监控,并同时监听其它MasterServer和WorkerServer的健康状态。
  • WorkerServer也采用分布式无中心设计理念,WorkerServer主要负责任务的执行和提供日志服务。
  • ZooKeeper服务,系统中的MasterServer和WorkerServer节点都通过ZooKeeper来进行集群管理和容错。另外系统还基于ZooKeeper进行事件监听和分布式锁。
  • Alert服务,提供告警相关服务。
  • API接口层,主要负责处理前端UI层的请求。
  • UI,系统的前端页面,提供系统的各种可视化操作界面。