DolphinScheduler使用文档

Apache DolphinScheduler 是一个分布式工作流任务调度系统,适用于大数据处理流程中的任务调度。文档详细介绍了DolphinScheduler的架构、集群规划、环境准备、软件部署、使用与测试等方面,包括DAG任务切分、任务节点类型(如Shell、SQL、Spark等)的参数设置。用户管理、数据源管理、工作流定义和定时任务等功能确保了系统在数据处理中的灵活性和可扩展性。此外,还提供了故障恢复策略和告警机制,确保任务的可靠执行。
摘要由CSDN通过智能技术生成

工作流任务调度系统:Apache DolphinScheduler

DolphoinScheduler 1.3.2 已经发布许久,相比于文中的 1.2.0 版本新增了许多特性,比如 支持 sqoop ,优化界面 UI 等。
DolphoinScheduler 1.3.2 详细文档请移步: https://www.yuque.com/docs/share/454e9a42-b6c7-44b2-9d29-1d5795199456?# 《DolphinScheduler - 1.3.2 Document》
关于 1.3.2 的部署,建议参考文档中源码编译的方式进行部署

一、文档说明

1.1 DolphinScheduler 说明

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

1.2 相关网址

官网:

https://dolphinscheduler.apache.org/zh-cn/index.html

Git 地址:

https://github.com/apache/incubator-dolphinscheduler

系统架构设计:

https://dolphinscheduler.apache.org/zh-cn/blog/architecture-design.html

系统使用手册:

https://dolphinscheduler.apache.org/zh-cn/docs/user_doc/system-manual.html

FAQ:

https://dolphinscheduler.apache.org/zh-cn/docs/faq.html

1.3 名词解释

  • DAG: 全称 Directed Acyclic Graph,简称 DAG。工作流中的 Task 任务以有向无环图的形式组装起来,从入度为零的节点进行拓扑遍历,直到无后继节点为止。
  • 流程定义:通过拖拽 任务节点 并建立 任务节点的关联 所形成的 可视化DAG
  • 流程实例:流程定义的实例化,可以通过手动启动或定时调度生成,流程定义每运行一次,产生一个流程实例
  • 任务实例:流程定义任务节点的实例化,标识着具体的 任务执行状态
  • 任务类型:目前支持有SHELL、SQL、SUB_PROCESS(子流程)、PROCEDURE、MR、SPARK、PYTHON、DEPENDENT(依赖),同时计划支持动态插件扩展,注意:其中子 SUB_PROCESS 也是一个单独的流程定义,是可以单独启动执行的
  • 调度方式:系统支持基于 cron 表达式的定时调度和手动调度。命令类型支持:启动工作流、从当前节点开始执行、恢复被容错的工作流、恢复暂停流程、从失败节点开始执行、补数、定时、重跑、暂停、停止、恢复等待线程。其中 恢复被容错的工作流恢复等待线程 两种命令类型是由调度内部控制使用,外部无法调用
  • 定时调度:系统采用 quartz 分布式调度器,并同时支持 cron 表达式可视化的生成
  • 依赖:系统不单单支持 DAG 简单的前驱和后继节点之间的依赖,同时还提供任务依赖节点,支持流程间的自定义任务依赖
  • 优先级 :支持流程实例和任务实例的优先级,如果流程实例和任务实例的优先级不设置,则默认是先进先出
  • 邮件告警:支持 SQL任务 查询结果邮件发送,流程实例运行结果邮件告警及容错告警通知
  • 失败策略:对于并行运行的任务,如果有任务失败,提供两种失败策略处理方式,继续 是指不管并行运行任务的状态,直到流程失败结束。结束 是指一旦发现失败任务,则同时Kill掉正在运行的并行任务,流程失败结束
  • 补数:补历史数据,支持 区间并行和串行 两种补数方式

1.4 DolphinScheduler 架构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jADgjP0A-1583811365288)(https://analysys.github.io/easyscheduler_docs_cn/images/architecture.jpg)]

1.4.1 MasterServer

MasterServer 采用分布式无中心设计理念,MasterServer 主要负责 DAG 任务切分、任务提交监控,并同时监听其它 MasterServer 和 WorkerServer 的健康状态。 MasterServer 服务启动时向 Zookeeper 注册临时节点,通过 监听 Zookeeper 临时节点 变化来进行容错处理。

该服务内主要包含:

  • Distributed Quartz 分布式调度组件,主要负责 定时任务的启停 操作,当 quartz 调起任务后,Master 内部会有线程池具体负责处理任务的后续操作
  • MasterSchedulerThread
  • 16
    点赞
  • 168
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
DolphinScheduler 是一款分布式的、易扩展、高可用的可视化 DAG 工作流调度系统。它可以帮助用户快速构建和调度大规模的数据处理任务、机器学习任务、ETL 任务等。以下是 DolphinScheduler使用文档: 1. 下载和安装 从 DolphinScheduler 的官方网站下载最新版本的二进制包,解压后即可使用。安装过程中需要配置数据库、Zookeeper、Mesos 等组件。 2. 创建项目 在 DolphinScheduler 中,所有的任务都需要被放置在一个项目中。因此,首先需要创建一个项目。在 DolphinScheduler 的主界面中,点击“项目管理”按钮,然后点击“创建”按钮,输入项目名称、描述等信息后,即可创建一个新项目。 3. 创建工作流 在 DolphinScheduler 中,任务是通过工作流来组织和调度的。因此,需要先创建一个工作流。在 DolphinScheduler 的主界面中,点击“工作流管理”按钮,然后点击“创建”按钮,输入工作流名称、描述等信息后,即可创建一个新工作流。 4. 添加任务节点 在 DolphinScheduler 的工作流编辑界面中,可以添加各种任务节点,如 Shell 任务、Python 任务、Java 任务、SQL 任务等。添加节点后,需要设置节点的参数,如执行命令、依赖关系、定时策略等。 5. 调度任务 在 DolphinScheduler 中,可以设置定时策略来调度任务,也可以手动执行任务。在 DolphinScheduler 的任务列表中,可以查看任务的执行状态、日志和结果等信息。 6. 监控和告警 DolphinScheduler 提供了丰富的监控和告警功能,可以实时监控任务的执行状态、资源使用情况等,并在任务执行失败或资源不足时发送告警通知。 7. 扩展 DolphinScheduler DolphinScheduler 可以通过扩展插件来支持更多的任务类型、调度策略、监控工具等。用户可以自行开发插件或使用已有的插件。 以上是 DolphinScheduler 的基本使用文档,详细的使用说明请参考 DolphinScheduler 官方文档
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值