当前位置: 首页 > news >正文

Ubuntu 22 下 DolphinScheduler 3.x 伪集群部署实录

本文记录了在 Ubuntu 22.04 上部署 Apache DolphinScheduler(伪集群模式)的完整过程,涵盖环境准备、安装配置、数据库初始化、用户创建及服务启动等步骤。适合个人学习、功能验证或测试使用。

环境准备

1. 安装 Java 8

DolphinScheduler 目前仅支持 Java 8 或 Java 11,不兼容 Java 17 及以上版本。这里选择安装 OpenJDK 8:

sudo apt update
sudo apt install openjdk-8-jdk -y

配置环境变量,可写入/etc/profile.d/java.sh或用户 .bashrc文件:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

验证 Java 安装:

java -version

2. 安装 ZooKeeper

ZooKeeper 是 DolphinScheduler 的注册中心组件,所有 Master 和 Worker 节点都依赖它进行调度与注册。

建议先单机部署一个 ZooKeeper 服务。

简单步骤如下:

# 下载并解压
wget https://dlcdn.apache.org/zookeeper/zookeeper-3.9.3/apache-zookeeper-3.9.3-bin.tar.gz
tar -xzf apache-zookeeper-3.9.3-bin.tar.gz
mv apache-zookeeper-3.9.3-bin /opt/zookeeper# 创建配置文件
cp /opt/zookeeper/conf/zoo_sample.cfg /opt/zookeeper/conf/zoo.cfg# 启动服务
/opt/zookeeper/bin/zkServer.sh start

3. 安装PostgreSQL

使用官方 APT 源在 Ubuntu 22.04 上安装 PostgreSQL。

部署 DolphinScheduler

1. 下载并解压安装包

从官网下载对应版本的二进制安装包,也可以直接使用命令:

wget https://dlcdn.apache.org/dolphinscheduler/3.2.1/apache-dolphinscheduler-3.2.1-bin.tar.gz
tar -xzf apache-dolphinscheduler-3.2.1-bin.tar.gz
mv apache-dolphinscheduler-3.2.1-bin dolphinscheduler
cd dolphinscheduler

2. 修改配置文件

DolphinScheduler 启动时会读取 bin/env/dolphinscheduler_env.sh中的环境变量配置。根据你的环境修改以下内容:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64# 数据库配置
export DATABASE=postgresql
export SPRING_PROFILES_ACTIVE=${DATABASE}
export SPRING_DATASOURCE_URL="jdbc:postgresql://127.0.0.1:5432/dolphinscheduler"
export SPRING_DATASOURCE_USERNAME=dolphinscheduler
export SPRING_DATASOURCE_PASSWORD=dolphinscheduler# ZooKeeper 注册中心
export REGISTRY_TYPE=zookeeper
export REGISTRY_ZOOKEEPER_CONNECT_STRING=localhost:2181# 其他通用配置
export SPRING_CACHE_TYPE=none
export SPRING_JACKSON_TIME_ZONE=UTC

Hadoop、Spark、Flink 等任务相关配置可按需注释或保留默认值。

3. 创建部署用户

为 DolphinScheduler 创建独立的系统用户:

sudo useradd -m -d /home/dolphinscheduler -s /bin/bash dolphinscheduler
echo "dolphinscheduler:dolphinscheduler" | sudo chpasswd

设置 sudo 免密权限(推荐用 sudoers.d 方式):

echo "dolphinscheduler ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dolphinscheduler
chmod 440 /etc/sudoers.d/dolphinscheduler

给当前安装目录授权:

sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler

初始化数据库(PostgreSQL)

DolphinScheduler 默认不会自动初始化数据库结构,因此推荐手动执行 SQL 脚本。否则在首次启动时会因为表不存在而报错。

数据库创建步骤如下:

sudo -u postgres psql-- 创建用户与数据库
CREATE USER dolphinscheduler WITH PASSWORD 'dolphinscheduler';
CREATE DATABASE dolphinscheduler OWNER dolphinscheduler;
\q

然后执行初始化脚本:

psql -U dolphinscheduler -d dolphinscheduler -f tools/sql/postgresql/dolphinscheduler_postgresql.sql

如果你找不到 SQL 文件,可在源码或 GitHub release 分支中找到,路径通常是:

dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql

例如 3.2.2 对应地址:
https://github.com/apache/dolphinscheduler/blob/3.2.2-release/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql

启动服务

切换到部署用户,进入 DolphinScheduler 安装目录后,依次启动以下模块:

su - dolphinscheduler
cd ~/dolphinscheduler# 启动各模块
bash bin/dolphinscheduler-daemon.sh start master-server
bash bin/dolphinscheduler-daemon.sh start worker-server
bash bin/dolphinscheduler-daemon.sh start api-server
bash bin/dolphinscheduler-daemon.sh start logger-server

验证部署

  • 打开浏览器访问:http://<服务器IP>:12345/dolphinscheduler
  • 默认账号密码:admin / dolphinscheduler123
  • 查看日志排错:日志文件在 logs/ 目录下,包含所有模块的启动与运行信息。

总结

参考链接

  • DolphinScheduler 官网 https://dolphinscheduler.apache.org/zh-cn/
  • 3.2.2 安装文档(伪集群) https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/guide/installation/pseudo-cluster
  • PostgreSQL 官方文档 https://www.postgresql.org/docs/
  • ZooKeeper 官方下载 https://zookeeper.apache.org/releases.html
  • GitHub SQL 初始化路径示例 https://github.com/apache/dolphinscheduler/blob/3.2.2-release/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sqlhttps://github.com/apache/dolphinscheduler/blob/3.2.2-release/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql

原文链接:https://blog.csdn.net/kaka_buka/article/details/149511194

http://www.hskmm.com/?act=detail&tid=8579

相关文章:

  • 关于proxmox 制作虚拟机模板的动态dhcp问题
  • Oracle清理:如何安全删除trace, alert和archivelog文件?
  • 软件工程个人项目
  • 学习道路道阻且长 希望自己坚持下去
  • 2025/9/18 总结
  • P2216 [HAOI2007] 理想的正方形
  • PuTTY下载和安装
  • 数据通路-单总线结构(最头晕的一集)
  • python基础篇-集合
  • #egsg:在同一程序中比较-计算圆的面积
  • 282 项多模态胃肠病学数据集:适配 VLM 与 MLLM 微调,融合医学图像与临床文本的医疗 AI 训练数据
  • 2-sat板子
  • centos 7中安装jenkins
  • pythonjs逆向 破解滑动验证码 - hello-*
  • 解决 pandas.to_csv 乱码、丢失行和自动换行问题 时间转换
  • JavaDay7
  • 前端场景题笔记
  • P3934 [Ynoi Easy Round 2016] 炸脖龙 I 做题记录
  • 【CompletableFuture 核心操作全解】详细注释版
  • 关于学术不端的一些思考
  • python基础-字典
  • pod 内nslookup请求时常异常
  • 单调队列优化DP
  • 4.5.11版本闪亮登场~快来看看有哪些新功能
  • 教你数分钟内创建并运行一个 DolphinScheduler Workflow!
  • AT_agc065_b [AGC065B] Erase and Insert
  • 《大模型时代——智能体的崛起与应用实践(微课视频版)》
  • 第三节:GoLangChain提示词(Prompts)处理详解
  • rhel8 中vdo 邏輯卷的邏輯擴容
  • Codeforces Round 1051 (Div. 2) 部分题解