前言

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 /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监控中心确认新节点状态

    集群缩容操作

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

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

本文由 白鲸开源科技 提供发布支持!

海豚调度
94 声望23 粉丝

Apache DolphinScheduler是一个分布式去中心化,易扩展的可视化DAG工作流任务调度平台。致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。