
点击蓝字,关注我们

本文将带你一步步通过外部PostgreSQL和Zookeeper来启动Apache DolphinScheduler。无论你是新手还是有经验的开发者,都能轻松跟着这些步骤在Linux/Unix环境中完成安装和配置。除了常见的安装步骤,我们还会分享一些集群部署的技巧,让你轻松扩展系统规模。
当然,如果遇到数据库连接、Zookeeper连接或者启动服务的问题,不用担心,文中也有详细的排查方案,帮你轻松搞定!
1
系统要求
操作系统:Linux/Unix (推荐CentOS 7+或Ubuntu 16.04+) Java环境:JDK 1.8+ 数据库:PostgreSQL 9.6+ 分布式协调服务:Zookeeper 3.4.6+ 内存:建议至少4GB 磁盘空间:建议至少10GB
2
准备工作
2
准备工作
安装和配置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
# 下载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
3
安装和配置
DolphinScheduler 3.1.9
下载和解压
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
修改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
/opt/dolphinscheduler/script/create-dolphinscheduler.sh
启动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
4
验证安装
检查进程状态:
ps -ef | grep dolphinscheduler
5
集群部署指南
集群模式部署步骤
如果需要部署为集群模式,需要按照以下步骤进行操作:
节点要求
在至少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测试)
详细配置步骤
修改所有节点上的 common.properties
配置文件文件路径: /opt/your_app/conf/common.properties将 registry.servers
设置为Zookeeper集群地址格式示例:
registry.servers=zk1:2181,zk2:2181,zk3:2181
./zkCli.sh -server zk1:2181
ls your_app/nodes
详细时间同步方案
所有节点必须保持时间同步(误差不超过1秒),建议配置如下:
NTP服务配置步骤
安装NTP服务:
yum install -y ntp
ntpdate ntp.aliyun.com
# 设置开机启动systemctl enable ntpd# 启动服务systemctl start ntpd
ntpq -pdate
备选时间同步方案
如果无法连接外网NTP服务器,可配置内网时间服务器:
指定一台服务器作为时间服务器 其他节点同步该服务器时间 配置示例:
ntpdate 192.168.1.100
时间同步注意事项
建议配置crontab定期同步时间
*/5 * * * * usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1
对于金融等对时间敏感的系统,建议误差控制在100毫秒以内
6
常见问题解决方案
6
常见问题解决方案
数据库连接失败排查
PostgreSQL远程连接配置
检查 pg_hba.conf
文件,确保包含类似配置:
host all all 0.0.0.0/0 md5
修改后需重启PostgreSQL服务
使用psql命令行测试连接:
psql -h [host] -U [username] -d [database
确认密码输入正确
检查节点间5432端口是否开放:
firewall-cmd --list-all
如需开放:
firewall-cmd --zone=public --add-port=5432/tcp --permanent
firewall-cmd --reload
Zookeeper连接问题排查
基础连接测试
* telnet your-zookeeper-server 2181成功应显示"Connected to your-zookeeper-server" 使用telnet测试连接: 日志检查
查看Zookeeper日志:
tail -f var/log/zookeeper/zookeeper.log常见问题 磁盘空间不足 内存配置过低 集群节点未正确配置
服务启动失败排查
日志分析
检查各组件日志:
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
2. Java环境验证
检查Java版本:
java -version
JDK 1.8+ 检查JAVA_HOME配置: echo $JAVA_HOME
检查内存配置:
jmap -heap <pid>
netstat -tunlp | grep [port]
Master Server: 5678 Worker Server: 1234 API Server: 12345
原文链接:https://blog.csdn.net/NIIT0532/article/details/149217318

用户案例
迁移实战
发版消息
加入社区
关注社区的方式有很多:
GitHub: https://github.com/apache/dolphinscheduler 官网:https://dolphinscheduler.apache.org/en-us 订阅开发者邮件:dev@dolphinscheduler@apache.org X.com:@DolphinSchedule YouTube:https://www.youtube.com/@apachedolphinscheduler Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg
同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。
📂非代码方式包括:
完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。
👩💻代码方式包括:
查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。


你的好友秀秀子拍了拍你
并请你帮她点一下“分享”






