大数跨境

零风险操作!DolphinScheduler高可用架构下的无损扩缩容指南

零风险操作!DolphinScheduler高可用架构下的无损扩缩容指南 海豚调度
2025-06-03
0
导读:助力运维安全、高效地调整集群规模。

点击蓝字,关注我们

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 获取安装包

  1. 确认现有集群版本,获取相同版本的安装包
  2. 确定统一安装目录(如/opt/dolphinscheduler)
  3. 下载安装包并解压到目标目录
  4. 添加数据库驱动包(如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. 扩容验证

  1. 使用jps命令检查服务进程
  2. 查看各节点日志文件
  3. 通过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. 缩容后检查

  1. 确认剩余节点服务正常运行
  2. 检查任务调度是否受影响
  3. 监控系统资源使用情况

4

注意事项

  1. 版本一致性:确保所有节点使用相同版本的DolphinScheduler
  2. 配置文件同步:集群所有节点的配置文件必须保持一致
  3. 服务依赖:Worker节点如需执行特定类型任务,需安装对应客户端
  4. 资源权限:确保部署用户对资源存储系统有足够权限
  5. 操作顺序:先停止服务再修改配置,避免状态不一致
  6. 通过以上步骤,您可以安全地对DolphinScheduler集群进行扩容和缩容操作,灵活应对业务需求变化。建议在非业务高峰期进行操作,并做好操作前的备份工作。

原文链接:https://blog.csdn.net/gitblog_00826/article/details/148392899





用户案例



网易邮箱 每日互动 惠生工程  作业帮 
博世智驾 蔚来汽车 长城汽车集度长安汽车
思科网讯食行生鲜联通医疗联想
新网银行唯品富邦消费金融 
自如有赞伊利当贝大数据
珍岛集团传智教育Bigo
YY直播  三合一太美医疗
Cisco Webex兴业证券




迁移实战



Azkaban   Ooize(当贝迁移案例)
Airflow (有赞迁移案例)
Air2phin(迁移工具)
Airflow迁移实践



发版消息




Apache DolphinScheduler 3.2.2版本正式发布!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!




加入社区



关注社区的方式有很多:

  • 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;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler


你的好友秀秀子拍了拍你

并请你帮她点一下“分享”

【声明】内容源于网络
0
0
海豚调度
Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
内容 0
粉丝 0
海豚调度 Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
总阅读0
粉丝0
内容0