写点什么

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

作者:白鲸开源
  • 2025-06-05
    天津
  • 本文字数:1577 字

    阅读完需:约 5 分钟

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

前言

Apache DolphinScheduler 作为一款开源的分布式任务调度系统,在实际生产环境中经常需要根据业务需求对集群进行扩容或缩容操作。本文将详细介绍 DolphinScheduler 集群的扩容和缩容操作流程,帮助运维人员安全、高效地调整集群规模。

集群扩容操作

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 /opttar -zxvf apache-dolphinscheduler-<version>-bin.tar.gz -C /optmv /opt/apache-dolphinscheduler-<version>-bin /opt/dolphinscheduler
复制代码

3. 系统用户配置

在所有扩容节点上创建部署用户并配置 sudo 权限:


useradd dolphinschedulerecho "dolphinscheduler123" | passwd --stdin dolphinschedulerecho 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoerssed -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/hadoopexport JAVA_HOME=/opt/soft/javaexport 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 监控中心确认新节点状态

集群缩容操作

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. 监控系统资源使用情况

注意事项

  1. 版本一致性:确保所有节点使用相同版本的 DolphinScheduler

  2. 配置文件同步:集群所有节点的配置文件必须保持一致

  3. 服务依赖:Worker 节点如需执行特定类型任务,需安装对应客户端

  4. 资源权限:确保部署用户对资源存储系统有足够权限

  5. 操作顺序:先停止服务再修改配置,避免状态不一致

  6. 通过以上步骤,您可以安全地对 DolphinScheduler 集群进行扩容和缩容操作,灵活应对业务需求变化。建议在非业务高峰期进行操作,并做好操作前的备份工作。


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

用户头像

白鲸开源

关注

一家开源原生的DataOps商业公司。 2022-03-18 加入

致力于打造下一代开源原生的DataOps 平台,助力企业在大数据和云时代,智能化地完成多数据源、多云及信创环境的数据集成、调度开发和治理,以提高企业解决数据问题的效率,提升企业分析洞察能力和决策能力。

评论

发布
暂无评论
零风险操作!DolphinScheduler高可用架构下的无损扩缩容指南_开源_白鲸开源_InfoQ写作社区