点击蓝字,关注我们
1
前言
Apache DolphinScheduler作为一款开源的分布式任务调度系统,在实际生产环境中经常需要根据业务需求对集群进行扩容或缩容操作。本文将详细介绍DolphinScheduler集群的扩容和缩容操作流程,帮助运维人员安全、高效地调整集群规模。
2
集群扩容操作
1. 扩容前准备
在进行扩容操作前,需要明确以下几点:
-
扩容节点类型:Master节点还是Worker节点 -
扩容节点数量 -
扩容节点所在物理机是否已安装相关服务
重要提示:同一台物理机上不能同时运行多个Master或Worker服务进程。
2. 基础环境准备
2.1 必备软件安装
所有扩容节点必须安装:
-
JDK 1.8+:需配置JAVA_HOME环境变量 -
基础工具:如wget、tar等
Worker节点可选安装:
-
Hadoop/Hive/Spark客户端(如需执行对应类型任务)
2.2 获取安装包
-
确认现有集群版本,获取相同版本的安装包 -
确定统一安装目录(如/opt/dolphinscheduler) -
下载安装包并解压到目标目录 -
添加数据库驱动包(如mysql-connector-java)
mkdir -p /opt
tar -zxvf apache-dolphinscheduler-<version>-bin.tar.gz -C /opt
mv /opt/apache-dolphinscheduler-<version>-bin /opt/
dolphinscheduler
3. 系统用户配置
在所有扩容节点上创建部署用户并配置sudo权限:
useradd dolphinscheduler
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
sed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
4. 配置文件调整
4.1 配置文件拷贝
从现有节点复制conf目录到新节点,重点检查:
-
datasource.properties:数据库连接信息 -
zookeeper.properties:ZK连接信息 -
common.properties:资源存储配置 -
dolphinscheduler_env.sh:环境变量
4.2 环境变量配置
修改conf/env/dolphinscheduler_env.sh,示例配置:
export HADOOP_HOME=/opt/soft/hadoop
export JAVA_HOME=/opt/soft/java
export PATH=$JAVA_HOME/bin:$PATH
创建Java软链接:
sudo ln -s $JAVA_HOME/bin/java /usr/bin/java
4.3 集群配置更新
修改所有节点上的bin/env/install_env.sh:
# 新增Master节点示例
ips="ds1,ds2,ds3"
masters="master1,master2,ds1,ds2"
# 新增Worker节点示例
workers="worker1:default,worker2:default,ds3:default"
5. 权限设置与集群重启
设置目录权限:
sudo chown -R dolphinscheduler:dolphinscheduler /opt/dolphinscheduler
集群重启命令:
# 停止所有服务
bin/stop-all.sh
# 启动所有服务
bin/start-all.sh
6. 扩容验证
-
使用jps命令检查服务进程 -
查看各节点日志文件 -
通过Web UI监控中心确认新节点状态
3
集群缩容操作
1. 缩容前准备
明确要缩容的节点类型和数量,确保缩容不会影响现有任务执行。
2. 缩容操作步骤
2.1 停止目标节点服务
在要缩容的节点上执行:
# 停止Master服务
bin/dolphinscheduler-daemon.sh stop master-server
# 停止Worker服务
bin/dolphinscheduler-daemon.sh stop worker-server
使用jps命令确认服务已停止。
2.2 更新集群配置
修改所有节点上的bin/env/install_env.sh,移除对应节点配置:
# 缩容Master示例
masters="master1,master2" # 移除ds1,ds2
# 缩容Worker示例
workers="worker1:default,worker2:default" # 移除ds3
3. 缩容后检查
-
确认剩余节点服务正常运行 -
检查任务调度是否受影响 -
监控系统资源使用情况
4
注意事项
-
版本一致性:确保所有节点使用相同版本的DolphinScheduler -
配置文件同步:集群所有节点的配置文件必须保持一致 -
服务依赖:Worker节点如需执行特定类型任务,需安装对应客户端 -
资源权限:确保部署用户对资源存储系统有足够权限 -
操作顺序:先停止服务再修改配置,避免状态不一致 -
通过以上步骤,您可以安全地对DolphinScheduler集群进行扩容和缩容操作,灵活应对业务需求变化。建议在非业务高峰期进行操作,并做好操作前的备份工作。
原文链接:https://blog.csdn.net/gitblog_00826/article/details/148392899
用户案例
迁移实战
发版消息
加入社区
关注社区的方式有很多:
-
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;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。
你的好友秀秀子拍了拍你
并请你帮她点一下“分享”

