本文章经授权转载,原文链接:
https://blog.csdn.net/MiaoSO/article/details/104770720
目录
-
1.1 DolphinScheduler 说明 -
1.2 相关网址 -
1.3 名词解释 -
1.4 DolphinScheduler 架构 -
1.4.1 MasterServer -
1.4.2 WorkerServer -
1.4.3 ZooKeeper -
1.4.4 Task Queue -
1.4.5 Alert -
1.4.6 API -
1.4.7 UI
1. 架构及名词解释
1.1 DolphinScheduler 说明
1.2 相关网址
官网:
https://dolphinscheduler.apache.org/zh-cn/index.html
https://github.com/apache/incubator-dolphinscheduler
https://dolphinscheduler.apache.org/zh-cn/docs/1.2.0/user_doc/architecture-design.html
https://dolphinscheduler.apache.org/zh-cn/docs/1.2.0/user_doc/system-manual.html
https://dolphinscheduler.apache.org/zh-cn/docs/release/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 架构
1.4.1 MasterServer
-
Distributed Quartz 分布式调度组件,主要负责 定时任务的启停 操作,当 quartz 调起任务后,Master 内部会有线程池具体负责处理任务的后续操作。 -
MasterSchedulerThread 是一个扫描线程,定时扫描数据库中的 command 表,根据不同的命令类型进行不同的业务操作。 -
MasterExecThread 主要是负责 DAG任务切分、任务提交监控、各种不同命令类型的逻辑处理。 -
MasterTaskExecThread 主要负责任务的持久化。
1.4.2 WorkerServer
-
FetchTaskThread 主要负责不断 从 Task Queue 中领取任务,并根据不同任务类型调用TaskScheduleThread 对应执行器。 -
LoggerServer 是一个RPC服务,提供日志分片查看、刷新和下载等功能
1.4.3 ZooKeeper
1.4.4 Task Queue
1.4.5 Alert
1.4.6 API
1.4.7 UI
文章目录:
DS 1.2.0 使用文档(1/8):架构及名词解释
DS 1.2.0 使用文档(2-3/8):集群规划及环境准备
DS 1.2.0 使用文档(4/8):软件部署
DS 1.2.0 使用文档(5/8):使用与测试
DS 1.2.0 使用文档(6/8):任务节点类型与任务参数设置
DS 1.2.0 使用文档(7/8):系统参数及自定义参数
DS 1.2.0 使用文档(8/8):附录

