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

保姆级教程:在CentOS 7上从零部署DolphinScheduler 1.3.9集群(含MySQL 5.7和Zookeeper配置)

CentOS 7实战:三节点DolphinScheduler 1.3.9集群部署全流程

在数据仓库与大数据处理领域,一个可靠的任务调度系统是数据流水线高效运转的核心枢纽。本文将手把手带您完成三节点CentOS 7环境下DolphinScheduler 1.3.9集群的完整部署,涵盖从基础环境准备到服务联调的每个技术细节。

1. 基础环境准备

1.1 服务器规划建议

对于生产级部署,建议采用如下配置方案:

节点角色CPU内存磁盘网络数量
Master+Worker8核16GBSSD 500GB万兆网卡1
Worker16核32GBSSD 1TB万兆网卡2

关键配置检查命令:

# 查看CPU信息 lscpu # 查看内存容量 free -h # 检查磁盘类型 lsblk -d -o name,rota

1.2 系统级配置

在所有节点执行以下初始化操作:

  1. 关闭防火墙与SELinux
systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
  1. 时间同步配置
yum install -y ntpdate ntpdate ntp.aliyun.com echo "*/30 * * * * /usr/sbin/ntpdate ntp.aliyun.com" >> /etc/crontab
  1. 安装基础工具包
yum install -y vim wget net-tools psmisc

2. 依赖组件安装

2.1 JDK 1.8+部署

推荐使用OpenJDK 8:

# 各节点统一安装 yum install -y java-1.8.0-openjdk-devel # 环境变量配置 echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> /etc/profile echo 'export PATH=$JAVA_HOME/bin:$PATH' >> /etc/profile source /etc/profile

验证安装:

java -version

2.2 MySQL 5.7集群部署

主节点安装:

# 安装MySQL官方Yum源 rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm # 安装服务 yum install -y mysql-community-server # 启动服务 systemctl start mysqld systemctl enable mysqld # 获取临时密码 grep 'temporary password' /var/log/mysqld.log # 安全配置 mysql_secure_installation

数据库初始化:

CREATE DATABASE dolphinscheduler DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'ds_user'@'%' IDENTIFIED BY 'Ds_123456'; GRANT ALL PRIVILEGES ON dolphinscheduler.* TO 'ds_user'@'%'; FLUSH PRIVILEGES;

2.3 Zookeeper集群部署

各节点配置:

# 下载安装包 wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/ # 配置文件示例(/opt/zookeeper-3.4.14/conf/zoo.cfg) tickTime=2000 initLimit=10 syncLimit=5 dataDir=/var/lib/zookeeper clientPort=2181 server.1=node1:2888:3888 server.2=node2:2888:3888 server.3=node3:2888:3888

启动集群:

# 各节点分别执行 /opt/zookeeper-3.4.14/bin/zkServer.sh start

3. DolphinScheduler集群部署

3.1 安装包准备

wget https://dlcdn.apache.org/dolphinscheduler/1.3.9/apache-dolphinscheduler-1.3.9-bin.tar.gz tar -zxvf apache-dolphinscheduler-1.3.9-bin.tar.gz -C /opt

3.2 关键配置文件修改

数据库连接配置(conf/datasource.properties):

spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://master-node:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8 spring.datasource.username=ds_user spring.datasource.password=Ds_123456

集群节点配置(conf/config/install_config.conf):

# 集群节点IP列表 ips="node1,node2,node3" # Master节点配置 masters="node1" # Worker节点配置 workers="node1:default,node2:default,node3:default" # Zookeeper集群地址 zkQuorum="node1:2181,node2:2181,node3:2181"

3.3 初始化数据库

# 导入MySQL驱动 cp mysql-connector-java-5.1.47.jar /opt/apache-dolphinscheduler-1.3.9-bin/lib/ # 执行初始化脚本 /opt/apache-dolphinscheduler-1.3.9-bin/script/create-dolphinscheduler.sh

3.4 集群启动与验证

一键启动:

/opt/apache-dolphinscheduler-1.3.9-bin/bin/start-all.sh

服务验证:

# 检查进程状态 ps -ef | grep dolphinscheduler # 访问Web UI http://<master-node>:12345/dolphinscheduler

4. 生产环境调优指南

4.1 性能关键参数

参数文件关键配置项推荐值说明
conf/master.propertiesmaster.exec.threadsCPU核心数*2Master任务处理线程数
conf/worker.propertiesworker.exec.threadsCPU核心数*2Worker任务执行线程数
conf/api.propertiesserver.servlet.session.timeout7200API会话超时时间(秒)

4.2 高可用配置

Master节点HA:

  1. 修改conf/master.properties
master.server.load.protocol=ZK master.server.recovery.enable=true
  1. install_config.conf中配置多个Master:
masters="node1,node2"

4.3 监控集成

Prometheus监控配置:

# conf/prometheus.yml 示例 scrape_configs: - job_name: 'dolphinscheduler' metrics_path: '/actuator/prometheus' static_configs: - targets: ['node1:12345', 'node2:12345']

5. 常见问题排查

5.1 服务启动失败排查

检查步骤:

  1. 查看日志文件:
tail -500f /opt/dolphinscheduler/logs/<service-name>.log
  1. 端口冲突检查:
netstat -tunlp | grep <port>
  1. 数据库连接测试:
mysql -h <host> -u <user> -p<password> -e "use dolphinscheduler; show tables;"

5.2 任务执行异常处理

典型错误场景:

  • 权限问题:确保Worker节点有sudo权限
  • 资源不足:调整worker.properties中的执行线程数
  • 依赖缺失:检查任务所需的运行时环境

日志定位技巧:

# 跟踪任务实例日志 grep -A 50 'ERROR' /opt/dolphinscheduler/logs/worker-server/*.log

6. 进阶配置示例

6.1 HDFS集成配置

修改common.properties

# 资源存储类型 resource.storage.type=HDFS # HDFS配置 fs.defaultFS=hdfs://namenode:8020 hadoop.security.authentication.startup.state=false

6.2 邮件告警设置

修改alert.properties

mail.protocol=SMTP mail.server.host=smtp.example.com mail.server.port=465 mail.sender=alert@example.com mail.user=alert@example.com mail.passwd=your-password mail.smtp.ssl.enable=true

7. 运维管理实践

7.1 日常维护命令

服务管理:

# 单独启停组件 bin/dolphinscheduler-daemon.sh start master-server bin/dolphinscheduler-daemon.sh stop worker-server # 集群状态检查 bin/status-all.sh

数据库维护:

-- 定期清理历史数据 DELETE FROM t_ds_process_instance WHERE state=6 AND end_time < DATE_SUB(NOW(), INTERVAL 30 DAY);

7.2 备份恢复策略

元数据备份:

mysqldump -h <host> -u <user> -p<password> dolphinscheduler > ds_backup_$(date +%Y%m%d).sql

配置备份:

tar -zcvf ds_conf_backup_$(date +%Y%m%d).tar.gz /opt/dolphinscheduler/conf/

8. 性能基准测试

通过模拟不同规模的工作流负载,我们获得以下性能数据:

并发工作流数平均处理延时资源占用(CPU%)备注
502.3s35%基础测试场景
2005.8s68%中等负载
50014.2s92%接近饱和状态

测试环境配置:3节点集群,每节点8核16GB内存,SSD存储

http://www.jsqmd.com/news/738526/

相关文章:

  • OpenClaw Zero Token:零成本调用主流大模型的统一网关部署与实战
  • 2026年4月桥墩吊围栏实力厂家推荐,市面上做得好的桥墩吊围栏源头厂家,防护网孔大小适中,防护同时不挡视线 - 品牌推荐师
  • 从手册到板卡:手把手教你配置Xilinx Kintex-7的LVDS引脚(含HP/HR Bank选择与电压设置)
  • SharpKeys完整指南:5分钟掌握Windows键盘重映射的免费神器
  • 避开这些坑!MATLAB图像处理从空间域到频率域的5个常见错误与调试技巧
  • 众智商学院SCMP培训怎么样?课程特色与学员评价 - 众智商学院官方
  • Hotkey Detective:轻松解决Windows热键冲突的3步检测法
  • 动态高斯泼溅技术:3D重建与冻结时间效果解析
  • STM32定时器预装载与更新事件:搞懂AM32电调PWM精准输出的底层硬件原理
  • 告别命令行!用PyQt5给YOLOv8做个桌面应用,支持一键打包成exe
  • 5分钟掌握B站缓存视频转换:m4s-converter完整使用教程
  • ClaudeR开源项目:构建私有化Claude API客户端的技术实践
  • [实战] 2026制造业质量管理:工程图纸特征自动提取与检验计划数字化流程
  • 2026年六西格玛绿带VS黑带含金量排行|最新报名时间TopN避坑指南 - 众智商学院课程中心
  • 告别PWM!用STM32F103的I2C接口和MCP4725打造高精度模拟电压源(附完整工程)
  • UVa 175 Keywords
  • 2025届最火的六大AI写作方案横评
  • ROSALIA模型:胸部X光病灶分割的深度学习突破
  • 终极指南:如何用d2s-editor轻松修改暗黑破坏神2存档
  • 企业团队如何利用Taotoken CLI统一配置开发环境
  • 2026年5月PMP认证深度对比:含金量、费用、避坑指南与机构评测 - 众智商学院课程中心
  • 将Hermes Agent工具的后端模型服务切换至Taotoken平台
  • 从ESP8266到ESP32:无缝迁移你的开发环境(基于乐鑫Gitee镜像与WSL)
  • 通过 curl 命令直接测试 Taotoken 聊天接口的连通性与返回格式
  • 他用AI办了个音乐节,主题:别读博
  • 从AI判断奇偶项目看机器学习应用误区与工程实践
  • GlosSI终极指南:让Steam控制器在任何游戏上完美运行
  • 大语言模型推理加速实战:从FlashAttention到连续批处理
  • 刷CF #1700
  • Go语言实现轻量级命令行中继工具CliRelay:原理、部署与实战