新手教程:用外部 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
准备工作
- 安装和配置PostgreSQL
# 安装PostgreSQL (以CentOS为例) sudo yum install -y postgresql-server postgresql-contrib # 初始化数据库 sudo postgresql-setup initdb # 启动服务 sudo systemctl start postgresql sudo 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 = '*' # 重启PostgreSQL sudo systemctl restart postgresql
- 安装和配置Zookeeper
# 下载Zookeeper wget https://downloads.apache.org/zookeeper/zookeeper-3.7.1/apache-zookeeper-3.7.1-bin.tar.gz tar -xzf apache-zookeeper-3.7.1-bin.tar.gz mv apache-zookeeper-3.7.1-bin /opt/zookeeper # 配置Zookeeper cd /opt/zookeeper/conf cp zoo_sample.cfg zoo.cfg vi zoo.cfg # 修改数据目录和添加服务器配置(如果是集群) dataDir=/opt/zookeeper/data # 单机模式不需要修改server配置 # 创建数据目录 mkdir /opt/zookeeper/data # 启动Zookeeper /opt/zookeeper/bin/zkServer.sh start
安装和配置DolphinScheduler 3.1.9
- 下载和解压
wget https://downloads.apache.org/dolphinscheduler/3.1.9/apache-dolphinscheduler-3.1.9-bin.tar.gz tar -xzf apache-dolphinscheduler-3.1.9-bin.tar.gz mv apache-dolphinscheduler-3.1.9-bin /opt/dolphinscheduler
- 修改配置文件 修改common.properties
vi /opt/dolphinscheduler/conf/common.properties
修改以下配置:
# 数据库配置 spring.datasource.driver-class-name=org.postgresql.Driver spring.datasource.url=jdbc:postgresql://your-postgresql-server:5432/dolphinscheduler spring.datasource.username=dolphinscheduler spring.datasource.password=yourpassword # Zookeeper配置 registry.plugin.name=zookeeper registry.plugin.type=zookeeper registry.servers=your-zookeeper-server:2181
修改环境变量(可选)
vi /opt/dolphinscheduler/conf/env/dolphinscheduler_env.sh
添加或修改Java环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_291 export 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
验证安装
- 检查进程状态:
ps -ef | grep dolphinscheduler
- 访问Web UI: 默认端口:12345 访问URL:http://your-server-ip:12345/dolphinscheduler 默认用户名/密码:admin/dolphinscheduler123
集群部署指南
集群模式部署步骤
如果需要部署为集群模式,需要按照以下步骤进行操作:
- 多节点部署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测试)
- 配置registry.servers
详细配置步骤
- 修改所有节点上的
common.properties
配置文件- 文件路径:
/opt/your_app/conf/common.properties
- 文件路径:
- 将
registry.servers
设置为Zookeeper集群地址 - 格式示例:
registry.servers=zk1:2181,zk2:2181,zk3:2181
配置验证
- 使用zkCli.sh连接Zookeeper验证配置是否正确
./zkCli.sh -server zk1:2181
- 检查节点注册情况:
ls /your_app/nodes
- 时间同步配置
详细时间同步方案
所有节点必须保持时间同步(误差不超过1秒),建议配置如下:
NTP服务配置步骤
- 安装NTP服务:
yum install -y ntp
- 配置NTP服务器(以阿里云NTP为例):
ntpdate ntp.aliyun.com
- 设置自动同步:
# 设置开机启动 systemctl enable ntpd # 启动服务 systemctl start ntpd
- 验证时间同步:
ntpq -p date
备选时间同步方案
如果无法连接外网NTP服务器,可配置内网时间服务器:
- 指定一台服务器作为时间服务器
- 其他节点同步该服务器时间
- 配置示例:
ntpdate 192.168.1.100
时间同步注意事项
- 建议配置crontab定期同步时间
*/5 * * * * /usr/sbin/ntpdate ntp.aliyun.com >/dev/null 2>&1
- 对于金融等对时间敏感的系统,建议误差控制在100毫秒以内
常见问题解决方案
数据库连接失败排查
- 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测试连接:
* telnet your-zookeeper-server 2181
- 成功应显示"Connected to your-zookeeper-server"
-
日志检查
- 查看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
-
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

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一文教会你基于 Rainbond 部署 DolphinScheduler 高可用集群
本文描述通过 Rainbond 云原生应用管理平台 一键部署高可用的 DolphinScheduler 集群,这种方式适合给不太了解 Kubernetes、容器化等复杂技术的用户使用,降低了在 Kubernetes 中部署 DolphinScheduler 的门槛。 前提条件 可用的 Rainbond 云原生应用管理平台,请参阅文档Rainbond 快速安装。 DolphinScheduler 集群一键部署 进入 Rainbond 的平台管理 -> 应用市场 -> 开源应用商店中搜索 dolphinscheduler 即可找到 DolphinScheduler 应用。 点击 DolphinScheduler 右侧的安装进入应用安装页面,填写对应的信息,点击确定即可开始安装,自动跳转至应用视图。 等待几分钟后,DolphinScheduler 集群就会安装完成,并运行起来。 点击应用内的访问按钮,即可通过 Rainbond 默认提供的域名访问 DolphinScheduler-API 组件,默认的用户密码是 admin/dolphinscheduler123。 API Mas...
- 下一篇
社区新贡献:X2SeaTunnel 助你无缝迁移到 SeaTunnel!
为了帮助用户更顺利地迁移到 Apache SeaTunnel 平台,社区成员提出了一个实用建议:开发一个通用的配置转换工具,支持将多种数据集成工具的配置文件转换为 SeaTunnel 支持的 HOCON 或 JSON 格式。这样,用户在迁移过程中将更加省心高效。 目前,该工具的设计方案已在 GitHub 上发布,并正式进入 SeaTunnel Roadmap。开发工作也已启动。 这个想法是否正好戳中你的需求?如果你也感兴趣,欢迎加入共建,一起打磨这个实用功能! GitHub 链接:https://github.com/apache/seatunnel/issues/9507 背景概述 X2SeaTunnel 是一个通用配置转换工具,用于将多种数据集成工具(如 DataX、Sqoop 等)的配置文件转换为 SeaTunnel 的 HOCON 或 JSON 配置文件,帮助用户平滑迁移到 SeaTunnel 平台。 设计思路 核心理念 简单轻量:保持工具轻量高效,专注于配置文件格式转换 统一框架:构建一个通用框架,支持多种数据集成工具的配置转换 可扩展性:采用插件式设计,便于后续扩展支持更多...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Linux系统CentOS6、CentOS7手动修改IP地址
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路