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

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

环境准备

1. 安装 Java 8

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

sql 复制代码
sudo apt update
sudo apt install openjdk-8-jdk -y

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

bash 复制代码
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 服务。

简单步骤如下:

bash 复制代码
# 下载并解压
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. 下载并解压安装包

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

bash 复制代码
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中的环境变量配置。根据你的环境修改以下内容:

ini 复制代码
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 创建独立的系统用户:

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

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

bash 复制代码
echo "dolphinscheduler ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dolphinscheduler
chmod 440 /etc/sudoers.d/dolphinscheduler

给当前安装目录授权:

bash 复制代码
sudo chown -R dolphinscheduler:dolphinscheduler dolphinscheduler

初始化数据库(PostgreSQL)

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

数据库创建步骤如下:

sql 复制代码
sudo -u postgres psql

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

然后执行初始化脚本:

bash 复制代码
psql -U dolphinscheduler -d dolphinscheduler -f tools/sql/postgresql/dolphinscheduler_postgresql.sql

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

css 复制代码
dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql

例如 3.2.2 对应地址: github.com/apache/dolp...

启动服务

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

bash 复制代码
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/ 目录下,包含所有模块的启动与运行信息。

总结

参考链接

原文链接:blog.csdn.net/kaka_buka/a...

相关推荐
ytadpole2 小时前
Java 25 新特性 更简洁、更高效、更现代
java·后端
算家计算2 小时前
模糊高清修复真王炸!ComfyUI-SeedVR2-Kontext(画质修复+P图)本地部署教程
人工智能·开源·aigc
纪莫2 小时前
A公司一面:类加载的过程是怎么样的? 双亲委派的优点和缺点? 产生fullGC的情况有哪些? spring的动态代理有哪些?区别是什么? 如何排查CPU使用率过高?
java·java面试⑧股
JavaGuide3 小时前
JDK 25(长期支持版) 发布,新特性解读!
java·后端
用户3721574261353 小时前
Java 轻松批量替换 Word 文档文字内容
java
白鲸开源3 小时前
教你数分钟内创建并运行一个 DolphinScheduler Workflow!
java
weiwenhao3 小时前
关于 nature 编程语言
人工智能·后端·开源
Java中文社群3 小时前
有点意思!Java8后最有用新特性排行榜!
java·后端·面试
代码匠心4 小时前
从零开始学Flink:数据源
java·大数据·后端·flink