DolphinScheduler 安装3.4.1
# DolphinScheduler 安装
DolphinScheduler 是工作流调度和任务编排入口。前面已经装好 HDFS、YARN、Hive、Spark、Flink、Livy、Zeppelin,这时再装 DolphinScheduler,后续就可以把 Shell、Spark、Flink、Hive SQL 等任务串成工作流。
这套环境已经启用了 Kerberos,也已经完成 LDAP 和 Ranger 的接入。安装 DolphinScheduler 时我会重点看三件事:元数据库能不能连通、Worker 是否分布到执行节点、Web/API 入口是否能打开。
本次角色分配如下:
| 主机 | DolphinScheduler 角色 |
|---|---|
hadoop1.test.com | DOLPHIN_MASTER、DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT |
hadoop2.test.com | DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT |
hadoop3.test.com | DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT |
这里是演示环境,所以 API、Worker、Alert 都放到三台主机上。生产环境可以把 API 和 Alert 收敛到固定入口节点,把 Worker 放到真正执行任务的机器上。
# 1. 准备 DolphinScheduler 元数据库
DolphinScheduler 会把项目、工作流定义、任务实例、告警配置等元数据写入关系型数据库。本篇继续使用 hadoop1.test.com 上的 MySQL / MariaDB。
在数据库节点执行:
CREATE DATABASE IF NOT EXISTS dolphinscheduler
DEFAULT CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
2
3
本篇为了演示方便,数据库账号使用 root / root。生产环境建议单独创建 dolphinscheduler 账号,并只授予 dolphinscheduler 库的权限。
# 2. 选择 Dolphin Scheduler 服务
进入 服务与组件,点击 新增服务,在增强组件列表里勾选 Dolphin Scheduler。

页面会显示 DolphinScheduler 依赖 ZooKeeper 和 HDFS。这两个服务必须先运行起来,否则后面 Master / Worker 注册、资源中心上传和 Kerberos 凭据分发都会容易出问题。
本次只勾选 DolphinScheduler 一个服务,不和后面的 Doris、Superset、Atlas 这类组件混在一起装。单组件安装更容易判断问题到底卡在哪一步。
# 3. 分配 DS Master
Master 分配页里只有一个 Master 组件:DOLPHIN_MASTER。

本次把它放在 hadoop1.test.com:
| 组件 | 主机 | 说明 |
|---|---|---|
DOLPHIN_MASTER | hadoop1.test.com | 负责任务调度、命令分发和工作流状态流转。 |
Master 是调度核心,小集群放到主节点比较直观。后续如果调度量很大,再考虑多个 Master 和独立节点。
# 4. 分配 DS API、Worker 和 Alert
Slave 分配页里会出现三个组件:DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT。

本次保持三台主机都安装:
| 组件 | 主机 | 说明 |
|---|---|---|
DOLPHIN_API | 三台主机 | 提供 Web/API 入口,默认端口 12345。 |
DOLPHIN_WORKER | 三台主机 | 执行具体任务,例如 Shell、Spark、Flink、Hive SQL。 |
DOLPHIN_ALERT | 三台主机 | 处理告警通知,默认端口 50052 / 50053。 |
这套服务没有 Client 组件,Client 区域会提示自动跳过。
# 5. 补齐数据库必填项
进入自定义配置页后,先看顶部提示。本次刚进入页面时,待填写项集中在数据库配置里。

数据库配置按下面填写:
| 配置项 | 本次示例值 | 说明 |
|---|---|---|
dolphin.database.type | MySQL | 使用 MySQL / MariaDB。 |
dolphin.database.dbname | dolphinscheduler | 前面创建的元数据库。 |
dolphin.database.host | hadoop1.test.com | 数据库所在节点。 |
dolphin.database.port | 3306 | MariaDB 端口。 |
dolphin.database.username | root | 演示环境使用 root。 |
dolphin.database.password | root | 演示密码,生产环境请替换。 |
填写完成后,页面里的待填写项会变成 0。

然后点击 测试数据库连接。看到 连接测试通过 后再继续。

注意
数据库测试会在后台任务日志里记录 JDBC 连接信息。写教程截图时我只保留页面上的 连接测试通过,不要把任务日志里的明文参数截进文章。
# 6. 检查资源存储配置
DolphinScheduler 的资源中心可以把脚本、依赖包、任务资源放到 HDFS。本篇保持默认 HDFS 存储。

这里重点看四个值:
| 配置项 | 本次示例值 | 说明 |
|---|---|---|
resource.storage.type | HDFS | 资源中心使用 HDFS。 |
resource.storage.upload.base.path | /apps/dolphinscheduler/resources | 上传资源的 HDFS 目录。 |
resource.hdfs.root.user | hdfs | 创建资源目录时使用的 HDFS 管理用户。 |
resource.hdfs.fs.defaultFS | | 安装时由 Ambari 根据 HDFS 配置渲染。 |
如果你的集群开启了 Kerberos,后续还要保证 DolphinScheduler 使用的 keytab 能访问这个 HDFS 路径。第一次安装先保持默认值,让组件完整启动。
# 7. 确认安装清单
确认页会把本次新增服务、Master 分配、Slave 分配和配置校验结果列出来。

本次确认结果如下:
| 检查项 | 本次结果 |
|---|---|
| 新增服务 | DOLPHINSCHEDULER |
| Master 分配 | DOLPHIN_MASTER -> hadoop1.test.com |
| Slave 分配 | DOLPHIN_ALERT、DOLPHIN_API、DOLPHIN_WORKER 分配到三台主机 |
| Client 分配 | 无 |
| 配置校验 | 必填项已填写 |
确认无误后点击 开始安装。
# 8. 提交 Kerberos 授权并等待启动
开启 Kerberos 的集群中,新增 DolphinScheduler 会要求提交 KDC 管理员凭据。这里填写的是 KDC 管理员 Principal 和密码,用于生成并分发 DolphinScheduler 相关 principal / keytab。
提交成功后,进度页会先安装软件包,再分发 Kerberos 凭据,最后启动各组件。

这个阶段主要看:
| 阶段 | 期望结果 |
|---|---|
| 安装软件包 | 三台主机的 DOLPHIN_API、DOLPHIN_WORKER、DOLPHIN_ALERT 安装完成,DOLPHIN_MASTER 在主节点安装完成。 |
| Kerberos | 新增服务凭据生成并分发完成。 |
| 启动服务 | Master、API、Worker、Alert 都启动完成。 |
如果启动失败,优先看 /var/log/dolphinscheduler 下的日志,其次再检查数据库连通性、HDFS 资源目录权限和 Kerberos keytab。
# 9. 安装完成
安装完成页会显示本次成功安装的服务。

点击 返回服务列表,可以看到 DolphinScheduler 出现在 接入工作台 分类下。

页面里可以看到:
| 组件 | 数量 | 状态 |
|---|---|---|
DS Master | 1 | 运行中 |
DS Api | 3 | 运行中 |
DS Worker | 3 | 运行中 |
DS Alert | 3 | 运行中 |
在服务所在主机上也可以确认端口监听:
ss -lntp | egrep ':(12345|5678|1234|50052|50053)\b'
正常能看到 12345、5678、1234、50052、50053 对应的 Java 进程。
# 10. 打开 DolphinScheduler Web 页面
浏览器访问:
http://hadoop1.test.com:12345/dolphinscheduler/
第一次打开会进入 DolphinScheduler 登录页。

默认管理账号如下:
| 项目 | 示例值 |
|---|---|
| 用户名 | admin |
| 密码 | dolphinscheduler123 |
登录后可以看到首页统计,包括任务实例状态、工作流实例状态和工作流定义统计。

到这里,DolphinScheduler 的基础安装完成。后面可以继续安装 Doris,把明细查询、宽表分析和调度任务衔接起来。