普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
应用集成
运维指南
  • 调度引擎管理
  • 新增调度引擎
  • 修改调度引擎
  • 删除调度引擎
  • 执行资源配置
  • 节点管理
  • 环境管理
  • 任务组管理
  • 执行资源状态
  • 搜索

# 调度引擎管理

调度引擎是一个分布式易扩展的作业流任务调度系统。调度引擎以 DAG(Directed Acyclic Graph,DAG)流式方式组装任务,可以及时监控任务的执行状态,支持重试、指定节点恢复失败、暂停、恢复、终止任务等操作。

调度引擎管理涉及的功能包括:

  • 新增调度引擎
  • 修改调度引擎
  • 删除调度引擎
  • 执行资源配置
    • 节点管理
    • 环境管理
    • 任务组管理
  • 执行资源状态
  • 搜索

点击上方菜单栏“公共资源”,进入公共资源管理界面,再点击左侧菜单栏的"调度引擎管理",进入调度引擎管理界面。

新建调度引擎

# 新增调度引擎

新建之前,请确保「调度引擎」介质已经部署完毕,并正常启动。

点击【+新建调度引擎】按钮,弹出"新建调度引擎"界面。按照向导页面要求录入调度引擎的参数配置信息。

注意:

1、「引擎编码」必须和配置文件中的 org.quartz.scheduler.instanceName: scheduler-test 保持一致(比如:scheduler-test)。用户可以自行修改配置文件的 instanceName ,然后再创建调度引擎。
2、如果 instanceName 不一致,会造成定时调度任务不执行的问题。

新建调度引擎

配置文件路径:/apache-dolphinscheduler-7.2.0-bin/master-server/conf/application.yaml

具体如下:

(略)
properties:
  org.quartz.threadPool.threadPriority: 5
  org.quartz.jobStore.isClustered: true
  org.quartz.jobStore.class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
  org.quartz.scheduler.instanceId: AUTO
  org.quartz.jobStore.tablePrefix: QRTZ_
  org.quartz.jobStore.acquireTriggersWithinLock: true
  org.quartz.scheduler.instanceName: scheduler-test
  org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
  org.quartz.jobStore.useProperties: false
  org.quartz.threadPool.makeThreadsDaemons: true
  org.quartz.threadPool.threadCount: 25
  org.quartz.jobStore.misfireThreshold: 60000
  org.quartz.scheduler.batchTriggerAcquisitionMaxCount: 1
  org.quartz.scheduler.makeSchedulerThreadDaemon: true
  org.quartz.jobStore.driverDelegateClass: org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
  org.quartz.jobStore.clusterCheckinInterval: 5000
(略)

点击【下一步】按钮,按照向导页面要求继续录入调度引擎参数配置。

新建调度引擎

点击【确定】按钮,完成新建调度引擎的操作。

基础信息配置项说明:

参数 说明
引擎编码 当前创建的调度引擎编码,由用户自定义且不可为空。命名可包含字母、数字、下划线。
引擎名称 当前创建的调度引擎名称,由用户自定义且不可为空。命名可包含汉子、字母、数字、下划线。
环境选择 当前创建的调度引擎所属的环境,从下拉选项选择(数据字典)且不可为空。
注册类型 目前支持 jdbc 和 zookeeper 两种方式。默认是 jdbc 注册方式。
所属部门 当前创建的调度引擎所属部门,从机构选项进行选择。
用途 当前创建的调度引擎的用途说明。
备注 当前创建的调度引擎的备注信息,用于记录用户自定义内容。

注册中心配置项说明:

注册方式一: 当「注册类型」是 jdbc 时,是将调度引擎的配置信息存储在数据库中。配置项如下:

参数 说明
数据源类型 调度引擎信息存储的数据库类型。
驱动类 数据库类型对应的驱动类。
用户名 数据库名称。
密码 数据库密码。
数据库URL 数据库连接 URL。
连接参数 额外的连接参数,根据实际需求进行配置。
调度租户 当前创建的调度引擎的调度租户信息。
DWS安装必读 时创建的免密用户,即在 bin/env/install_env.sh 中配置的 deployUser=${deployUser:-"dws"}。
yarn队列 当前创建的调度引擎的 yarn 队列名称。

注册方式二: 当「注册类型」是 zookeeper 时,是将调度引擎的配置信息存储在 zookeeper 中。配置项如下:

参数 说明
zookeeper 注册地址 当前创建的调度引擎的 zookeeper 注册地址。
namespace 当前创建的调度引擎的 namespace。
namespace 即部署 DolphinScheduler 时在 bin/env/install_env.sh 中配置的 zkRoot=${zkRoot:-"/dws"}。
digest 是 zookeeper 基于用户名 + 密码拼接的字符串。
连接参数 额外的连接参数,根据实际需求进行配置。
调度租户 当前创建的调度引擎的调度租户信息。
DWS安装必读 时创建的免密用户,即在 bin/env/install_env.sh 中配置的 deployUser=${deployUser:-"dws"}。
yarn队列 当前创建的调度引擎的 yarn 队列名称。默认值是:default。

# 修改调度引擎

点击存算引擎列表右侧的【编辑】按钮,弹出"调度资源详情"弹窗,用户可以根据需求进行参数的修改。

点击【确定】按钮,完成参数的修改、保存。

点击【取消】按钮,取消本次修改操作。

修改调度引擎

修改调度引擎

# 删除调度引擎

点击调度引擎列表后边的【删除】按钮,弹出"删除确认"信息。按照要求解绑后才能继续删除操作。

点击弹框的【确认】按钮,完成删除操作。

点击弹框的【取消】按钮,取消本次删除操作。

删除调度引擎

# 执行资源配置

点击调度引擎列表后边的【执行资源配置】按钮,弹出"执行资源配置"弹窗。

执行资源配置

执行资源配置

# 节点管理

选择“节点管理”,可以管理调度引擎的 Worker 节点。

点击底部的【新增】按钮,可以添加执行资源的 Worker 分组。用户可以将选择不同 Worker 节点放在同一个分组中。

提示:

1、Master、Worker 下列表显示的节点会自动发现并显示,不允许删除。
2、Worker分组名称具有唯一性,不允许重名。

执行资源配置

# 环境管理

为指定的 Worker 组预先定义一套任务执行时需要的环境变量(如JAVA_HOME、HIVE_HOME、SPARK_HOME等)。

解决不同任务对运行环境依赖不同的问题。你不需要登录服务器修改.bashrc,直接在页面上为不同任务类型(Hive、Spark、Shell)创建独立的环境,并在工作流运行时动态选择。

在任务执行时,将任务分配给指定 Worker 分组,根据 Worker 分组选择对应的环境,最终由该组中的 Worker 节点执行环境来执行任务。

比如:Worker1 配置了两个 DI 环境 DI1、DI2,在 IDE 的通用配置中,作业1选择环境“DI1”,作业2选择环境“DI2”,则在具体执行时作业1、作业2分别在环境 DI1、DI2 执行。

选择“环境管理”,进入环境管理界面。

执行资源配置

点击【新建环境】按钮,填入环境名称、环境配置、环境描述,即可新建 Worker 环境。

执行资源配置

点击【编辑】,可以修改环境信息。

点击【删除】,可以删除已经配置好的环境。

配置项名称 说明
环境名称 自定义名称,如 hive_env、spark_313_env。
环境配置 核心内容。以export KEY=VALUE 格式写入。
示例:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk
export HIVE_HOME=/opt/soft/hive
export PATH=$HIVE_HOME/bin:$PATH
环境描述 文字说明该环境的用途。

# 环境典型应用场景

场景1:同一套集群同时跑Hive和Spark任务

  • 创建环境 hive_env → 绑定Worker组 default → 配置HIVE_HOME和HADOOP_HOME。
  • 创建环境 spark_env → 绑定Worker组 default → 配置SPARK_HOME和HADOOP_CONF_DIR。
  • 结果:Hive任务选hive_env,Spark任务选spark_env,互不干扰,无需重启服务。

场景2:多版本引擎共存(如Hive 1.x和Hive 3.x)

  • 为不同版本的Hive安装路径分别创建环境,分配给不同的Worker节点组(或相同组)。
  • 任务根据依赖的Hive版本选择对应的环境。

# 任务组管理

任务组用于控制任务实例并发数的轻量级流量管控工具。

它不同于Worker分组(负载均衡),也不同于Yarn队列(计算资源管控),其核心价值是防止瞬时并发任务压垮下游系统(数据库、Hadoop等)。

针对不同项目,可以配置对应的任务组,并配置任务在任务组内运行的优先级。

# 任务组的定义与定位

核心作用:限制同一时刻属于该组的任务实例数量,保护下游系统不被突增流量打崩。

适用范围:仅对Worker执行的任务生效(Shell、SQL、Python、Flink、Spark等)。Master执行的逻辑节点(Switch、Condition、SubProcess等)不受任务组控制。

隔离级别:项目级隔离。任务组可绑定指定项目,也可全局可见;与租户无关。

# 操作入口

选择“任务组管理”,进入任务组管理界面。

执行资源配置

点击【新建任务组】按钮,填入任务组名称、任务组大小()、启用/不启用、描述,即可新建任务组。

执行资源配置

点击【编辑】,可以修改任务组。

点击【删除】,可以删除已经创建的任务组。

配置项名称 说明 建议
任务组名称 显示名称,任务定义时选择 语义化命名,如 limit_hadoop_10
任务组大小 最大并发数 根据下游系统吞吐量设定。默认10,生产环境需评估。
状态 是否启用任务组
描述 文字说明该任务组的用途。

# 任务组最佳实践建议

  1. 多拆分,少复用

    不要把几百个任务放到同一个任务组。一旦阻塞,运维界面无法批量操作,恢复成本极高。推荐按业务线、数据源、重要程度拆分多个组。

  2. 容量设定原则

    初始值建议设为下游系统(如Hadoop队列、数据库连接池)阈值的70% ,留缓冲。后期通过监控任务组等待时长动态调整。

  3. 监控与告警

    任务组队列长度持续>0 → 触发告警。这是下游系统“即将过载”的早期信号。

  4. 不受控节点提醒

    再次强调:Switch、Condition、SubProcess等逻辑节点不受任务组限制。若工作流中有大量这类节点,任务组对总体并发控制效果有限。

# 执行资源状态

点击调度引擎列表后边的【执行资源状态】按钮,弹出"执行资源状态"弹窗。可以查看对应调度引擎的 Master 和 Worker 的资源状态,包括:Master 和 Worker 的节点地址、心跳、CPU 使用率、内存使用率、磁盘可用容量。

执行资源状态

# 搜索

点击调度引擎列表右上方的【高级搜索】按钮,输入搜索条件"引擎编码"或者"引擎名称",点击【搜索】按钮,可以按照条件完成模糊查询,点击【重置】按钮,可以清空搜索条件。

搜索调度引擎

← 数据源管理 主题管理 →