Apache 作为一款开源的分布式任务调度系统,在实际生产环境中经常需要根据业务需求对集群进行扩容或缩容操作。本文将详细介绍DolphinScheduler集群的扩容和缩容操作流程,帮助运维人员安全、高效地调整集群规模。
在进行扩容操作前,需要明确以下几点:
扩容节点类型:Master节点还是Worker节点
扩容节点数量
扩容节点所在物理机是否已安装相关服务
重要提示:同一台物理机上不能同时运行多个Master或Worker服务进程。
2.1 必备软件安装
所有扩容节点必须安装:
JDK 1.8+:需配置JAVA_HOME环境变量
基础工具:如wget、tar等
Worker节点可选安装:
Hadoop/Hive/Spark客户端(如需执行对应类型任务)
2.2 获取安装包
确认现有集群版本,获取相同版本的安装包
确定统一安装目录(如/opt/dolphinscheduler)
下载安装包并解压到目标目录
添加数据库驱动包(如mysql-connector-java)
mkdir -p /opttar -zxvf apache-dolphinscheduler-<version>-bin.tar.gz -C /optmv /opt/apache-dolphinscheduler-<version>-bin /opt/dolphinscheduler
在所有扩容节点上创建部署用户并配置sudo权限:
useradd dolphinschedulerecho "dolphinscheduler123" | passwd --stdin dolphinschedulerecho 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoerssed -i 's/Defaults requirett/#Defaults requirett/g' /etc/sudoers
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"
设置目录权限:
sudo chown -R dolphinscheduler:dolphinscheduler /opt/dolphinscheduler
集群重启命令:
# 停止所有服务bin/stop-all.sh# 启动所有服务bin/start-all.sh
使用jps命令检查服务进程
查看各节点日志文件
通过Web UI监控中心确认新节点状态
明确要缩容的节点类型和数量,确保缩容不会影响现有任务执行。
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
确认剩余节点服务正常运行
检查任务调度是否受影响
监控系统资源使用情况
版本一致性:确保所有节点使用相同版本的DolphinScheduler
配置文件同步:集群所有节点的配置文件必须保持一致
服务依赖:Worker节点如需执行特定类型任务,需安装对应客户端
资源权限:确保部署用户对资源存储系统有足够权限
操作顺序:先停止服务再修改配置,避免状态不一致
通过以上步骤,您可以安全地对DolphinScheduler集群进行扩容和缩容操作,灵活应对业务需求变化。建议在非业务高峰期进行操作,并做好操作前的备份工作。
原文链接:https://blog.csdn.net/gitblog_00826/article/details/148392899
