写点什么

新手教程:用外部 PostgreSQL 和 Zookeeper 启动 Dolphinscheduler

作者:白鲸开源
  • 2025-07-31
    天津
  • 本文字数:3187 字

    阅读完需:约 10 分钟

新手教程:用外部 PostgreSQL 和 Zookeeper 启动 Dolphinscheduler

本文将带你一步步通过外部 PostgreSQL 和 Zookeeper 来启动 Apache DolphinScheduler。无论你是新手还是有经验的开发者,都能轻松跟着这些步骤在 Linux/Unix 环境中完成安装和配置。除了常见的安装步骤,我们还会分享一些集群部署的技巧,让你轻松扩展系统规模。


当然,如果遇到数据库连接、Zookeeper 连接或者启动服务的问题,不用担心,文中也有详细的排查方案,帮你轻松搞定!

系统要求

  • 操作系统:Linux/Unix (推荐 CentOS 7+或 Ubuntu 16.04+)

  • Java 环境:JDK 1.8+

  • 数据库:PostgreSQL 9.6+

  • 分布式协调服务:Zookeeper 3.4.6+

  • 内存:建议至少 4GB

  • 磁盘空间:建议至少 10GB

准备工作

  1. 安装和配置 PostgreSQL


# 安装PostgreSQL (以CentOS为例)sudo yum install -y postgresql-server postgresql-contrib # 初始化数据库sudo postgresql-setup initdb # 启动服务sudo systemctl start postgresqlsudo systemctl enable postgresql # 创建DolphinScheduler数据库和用户sudo -u postgres psql -c "CREATE USER dolphinscheduler WITH PASSWORD 'yourpassword';"sudo -u postgres psql -c "CREATE DATABASE dolphinscheduler OWNER dolphinscheduler;"sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE dolphinscheduler TO dolphinscheduler;" # 修改pg_hba.conf配置sudo vi /var/lib/pgsql/data/pg_hba.conf# 添加或修改以下行:host    all             all             0.0.0.0/0               md5 # 修改postgresql.conf配置sudo vi /var/lib/pgsql/data/postgresql.conf# 修改listen_addresses为:listen_addresses = '*' # 重启PostgreSQLsudo systemctl restart postgresql
复制代码


  1. 安装和配置 Zookeeper


# 下载Zookeeperwget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gztar -xzf apache-zookeeper-3.7.1-bin.tar.gzmv apache-zookeeper-3.7.1-bin /opt/zookeeper # 配置Zookeepercd /opt/zookeeper/confcp zoo_sample.cfg zoo.cfgvi zoo.cfg# 修改数据目录和添加服务器配置(如果是集群)dataDir=/opt/zookeeper/data# 单机模式不需要修改server配置 # 创建数据目录mkdir /opt/zookeeper/data # 启动Zookeeper/opt/zookeeper/bin/zkServer.sh start
复制代码

安装和配置 DolphinScheduler 3.1.9

  1. 下载和解压


wget https://downloads.apache.org/dolphinscheduler/3.1.9/apache-dolphinscheduler-3.1.9-bin.tar.gztar -xzf apache-dolphinscheduler-3.1.9-bin.tar.gzmv apache-dolphinscheduler-3.1.9-bin /opt/dolphinscheduler
复制代码


  1. 修改配置文件修改 common.properties


vi /opt/dolphinscheduler/conf/common.properties
复制代码


修改以下配置:


# 数据库配置spring.datasource.driver-class-name=org.postgresql.Driverspring.datasource.url=jdbc:postgresql://your-postgresql-server:5432/dolphinschedulerspring.datasource.username=dolphinschedulerspring.datasource.password=yourpassword
# Zookeeper配置registry.plugin.name=zookeeperregistry.plugin.type=zookeeperregistry.servers=your-zookeeper-server:2181
复制代码


修改环境变量(可选)


vi /opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh
复制代码


添加或修改 Java 环境变量:


export JAVA_HOME=/usr/java/jdk1.8.0_291export PATH=$JAVA_HOME/bin:$PATH
复制代码


  1. 初始化数据库


/opt/dolphinscheduler/script/create-dolphinscheduler.sh
复制代码


  1. 启动服务启动 Master Server


/opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start master-server
复制代码


启动 Worker Server


/opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start worker-server
复制代码


启动 API Server


/opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start api-server
复制代码


启动 Alert Server


/opt/dolphinscheduler/bin/dolphinscheduler-daemon.sh start alert-server
复制代码

验证安装

  1. 检查进程状态:


ps -ef | grep dolphinscheduler
复制代码


  1. 访问 Web UI: 默认端口:12345 访问 URL:http://your-server-ip:12345/dolphinscheduler 默认用户名/密码:admin/dolphinscheduler123

集群部署指南

集群模式部署步骤

如果需要部署为集群模式,需要按照以下步骤进行操作:


  1. 多节点部署 Worker Server


节点要求


  • 在至少 3 个节点(建议奇数个)上重复 Worker Server 的安装过程

  • 每个节点需要相同的安装包版本,确保组件版本一致性

  • 服务器硬件配置建议:

  • CPU: 4 核以上

  • 内存: 8GB 以上

  • 磁盘: 100GB 以上(根据业务数据量调整)


示例部署方案


  • 节点 1(主节点):Master Server + Worker Server

  • IP: 192.168.1.101

  • 角色: 主控节点+工作节点

  • 节点 2(工作节点):Worker Server

  • IP: 192.168.1.102

  • 角色: 工作节点

  • 节点 3(工作节点):Worker Server

  • IP: 192.168.1.103

  • 角色: 工作节点


安装注意事项 1. 在每个节点上执行相同的安装脚本 2. 确保所有节点的安装路径一致 3. 检查各节点间的网络连通性(建议使用 ping/telnet 测试)


  1. 配置 registry.servers


详细配置步骤


  1. 修改所有节点上的common.properties配置文件

  2. 文件路径:/opt/your_app/conf/common.properties

  3. registry.servers设置为 Zookeeper 集群地址

  4. 格式示例:


registry.servers=zk1:2181,zk2:2181,zk3:2181
复制代码


配置验证


  1. 使用 zkCli.sh 连接 Zookeeper 验证配置是否正确


./zkCli.sh -server zk1:2181
复制代码


  1. 检查节点注册情况:


ls /your_app/nodes
复制代码


  1. 时间同步配置


详细时间同步方案


所有节点必须保持时间同步(误差不超过 1 秒),建议配置如下:


NTP 服务配置步骤


  1. 安装 NTP 服务:


yum install -y ntp
复制代码


  1. 配置 NTP 服务器(以阿里云 NTP 为例):


ntpdate ntp.aliyun.com
复制代码


  1. 设置自动同步:


# 设置开机启动systemctl enable ntpd# 启动服务systemctl start ntpd
复制代码


  1. 验证时间同步:


ntpq -pdate
复制代码


备选时间同步方案


如果无法连接外网 NTP 服务器,可配置内网时间服务器:


  1. 指定一台服务器作为时间服务器

  2. 其他节点同步该服务器时间

  3. 配置示例:


ntpdate 192.168.1.100
复制代码


时间同步注意事项


  • 建议配置 crontab 定期同步时间


*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1
复制代码


  • 对于金融等对时间敏感的系统,建议误差控制在 100 毫秒以内

常见问题解决方案

数据库连接失败排查

  1. PostgreSQL 远程连接配置


  • 检查pg_hba.conf文件,确保包含类似配置:


host    all             all             0.0.0.0/0               md5
复制代码


  • 修改后需重启 PostgreSQL 服务


  1. 验证凭据


  • 使用 psql 命令行测试连接:


psql -h [host] -U [username] -d [database]
复制代码


  • 确认密码输入正确


  1. 防火墙检查


  • 检查节点间 5432 端口是否开放:


firewall-cmd --list-all
复制代码


  • 如需开放:


firewall-cmd --zone=public --add-port=5432/tcp --permanentfirewall-cmd --reload
复制代码

Zookeeper 连接问题排查

  1. 基础连接测试

  2. 使用 telnet 测试连接:


    * telnet your-zookeeper-server 2181
复制代码


* 成功应显示"Connected to your-zookeeper-server"
复制代码


  1. 日志检查

  2. 查看 Zookeeper 日志:


    tail -f /var/log/zookeeper/zookeeper.log
复制代码


* 常见问题:    * 磁盘空间不足    * 内存配置过低    * 集群节点未正确配置
复制代码

服务启动失败排查

  1. 日志分析

  2. 检查主日志文件:


    tail -n 100 /opt/dolphinscheduler/logs/dolphinscheduler-api.log
复制代码


- 检查各组件日志:
复制代码


    /opt/dolphinscheduler/logs/    ├── dolphinscheduler-alert-server.log    ├── dolphinscheduler-api-server.log    ├── dolphinscheduler-master-server.log    └── dolphinscheduler-worker-server.log
复制代码


  1. Java 环境验证

  2. 检查 Java 版本:


    java -version
复制代码


  - 要求:JDK 1.8+  - 检查JAVA_HOME配置:
复制代码


      echo $JAVA_HOME
复制代码


检查内存配置:
复制代码


    jmap -heap <pid>
复制代码


  1. 端口冲突检查

  2. 查看端口使用情况:


    netstat -tunlp | grep [port]
复制代码


- 默认端口:    * Master Server: 5678    * Worker Server: 1234    * API Server: 12345
复制代码


原文链接:https://blog.csdn.net/NIIT0532/article/details/149217318

用户头像

白鲸开源

关注

一家开源原生的DataOps商业公司。 2022-03-18 加入

致力于打造下一代开源原生的DataOps 平台,助力企业在大数据和云时代,智能化地完成多数据源、多云及信创环境的数据集成、调度开发和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

评论

发布
暂无评论
新手教程:用外部 PostgreSQL 和 Zookeeper 启动 Dolphinscheduler_数据库_白鲸开源_InfoQ写作社区