Apache DolphinScheduler集群扩容与缩容指南
前言
Apache DolphinScheduler作为一款开源的分布式工作流任务调度系统,在实际生产环境中经常需要根据业务需求进行集群规模的调整。本文将详细介绍如何对DolphinScheduler集群进行扩容(增加节点)和缩容(减少节点)操作,帮助运维人员掌握集群规模调整的核心方法。
一、集群扩容操作
1.1 扩容前的注意事项
在进行扩容操作前,必须明确以下几点:
- 节点角色限制:同一台物理机上不能同时运行多个master服务进程或worker服务进程
- 版本一致性:新增节点的版本必须与现有集群版本保持一致
- 配置同步:所有节点的配置文件需要保持同步
1.2 基础环境准备
1.2.1 软件依赖
-
必需组件:
- JDK 1.8+:需配置JAVA_HOME和PATH环境变量
- 数据库驱动:如MySQL的mysql-connector-java驱动包
-
可选组件(根据任务类型决定):
- Hadoop/Hive/Spark客户端(仅worker节点需要)
重要提示:DolphinScheduler本身不依赖这些大数据组件,但会调用它们的客户端来提交任务。
1.2.2 安装包获取
- 确认现有集群版本,获取对应版本的安装包
- 建议统一安装目录,如
/opt/dolphinscheduler
- 可以从现有节点直接复制安装包到新节点
1.3 系统用户配置
在所有新节点上创建部署用户并配置sudo免密:
# 创建用户
useradd dolphinscheduler
# 设置密码
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
# 配置sudo免密
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
注意:部署用户需要具备sudo权限且免密,这是多租户任务切换用户执行的基础。
1.4 配置文件调整
1.4.1 配置文件复制
从现有节点复制以下关键配置文件到新节点:
datasource.properties
:数据库连接信息zookeeper.properties
:ZK连接信息common.properties
:资源存储配置dolphinscheduler_env.sh
:环境变量
1.4.2 环境变量配置
修改bin/env/dolphinscheduler_env.sh
,配置各组件路径:
export HADOOP_HOME=/opt/soft/hadoop
export HADOOP_CONF_DIR=/opt/soft/hadoop/etc/hadoop
export JAVA_HOME=/opt/soft/java
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
1.4.3 集群配置更新
在所有节点上修改bin/env/install_env.sh
:
# 节点IP列表
ips="node1,node2,node3,node4"
# Master节点配置
masters="node1,node2,node3"
# Worker节点配置(包含分组信息)
workers="node1:default,node2:default,node4:default"
1.5 权限设置与启动
-
设置目录权限:
chown -R dolphinscheduler:dolphinscheduler /opt/dolphinscheduler
-
重启集群:
bin/stop-all.sh bin/start-all.sh
-
使用
jps
命令验证服务:MasterServer # Master服务 WorkerServer # Worker服务
-
通过Web UI的监控页面确认新节点已加入集群
二、集群缩容操作
2.1 缩容步骤
-
停止待下线节点服务:
# 停止Master bin/dolphinscheduler-daemon.sh stop master-server # 停止Worker bin/dolphinscheduler-daemon.sh stop worker-server
-
验证服务停止:
- 使用
jps
确认对应服务进程已不存在
- 使用
-
更新集群配置:
- 在所有节点修改
install_env.sh
,移除下线节点的IP和角色配置
- 在所有节点修改
2.2 注意事项
- 确保下线节点没有正在运行的关键任务
- 建议在业务低峰期执行缩容操作
- 缩容后检查剩余节点的负载情况
三、最佳实践建议
- 版本管理:建立完善的版本控制机制,确保集群所有节点版本一致
- 配置管理:使用配置管理工具(如Ansible)统一管理集群配置
- 灰度发布:先在一台节点测试后再全量更新
- 监控告警:扩容/缩容后密切监控系统指标
结语
通过本文的详细指导,您应该已经掌握了DolphinScheduler集群扩容和缩容的核心操作方法。在实际操作中,请根据具体环境调整配置参数,并做好变更前后的检查和验证工作,确保集群稳定运行。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考