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

# 认识 DolphinScheduler

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

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

## 什么是DolphinScheduler

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

![](/img/b685a0d7-4408-458e-a72b-3e1b6579a535.png)

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的同学，推荐使用单机部署的方式快速体验。

![](/img/f3a26684-26ce-4559-a74d-514e94079918.png)

## 进阶

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