EasyScheduler集群扩容与缩容操作指南
dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/ea/EasyScheduler
前言
EasyScheduler作为一款分布式工作流任务调度系统,在实际生产环境中经常需要根据业务需求进行集群规模的调整。本文将详细介绍EasyScheduler集群的扩容与缩容操作流程,帮助运维人员正确完成集群规模调整。
集群扩容操作
扩容前准备
在进行扩容前,需要明确以下几点:
- 确认当前集群版本,新节点必须使用相同版本
- 规划好新增节点的角色(Master或Worker)
- 确保新节点与现有集群网络互通
- 准备相同版本的安装包
基础环境配置
JDK安装要求:
- 必须安装JDK 1.8或更高版本
- 配置JAVA_HOME环境变量
- 将JDK的bin目录加入PATH
可选组件:
- 如果扩容的是Worker节点,根据任务类型可能需要安装:
- Hadoop客户端
- Hive客户端
- Spark客户端
- Python环境
重要提示:EasyScheduler本身不依赖这些组件,但会调用它们的客户端来提交任务
安装包部署
- 创建统一的安装目录(建议/opt)
- 解压安装包到目标目录
- 添加数据库驱动包(如mysql-connector-java)
mkdir -p /opt
tar -zxvf apache-dolphinscheduler-<version>-bin.tar.gz -C /opt
mv /opt/apache-dolphinscheduler-<version>-bin /opt/dolphinscheduler
创建部署用户
在所有新节点上创建专用部署用户:
useradd dolphinscheduler
echo "dolphinscheduler123" | passwd --stdin dolphinscheduler
echo 'dolphinscheduler ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers
注意:部署用户需要sudo免密权限,因为系统会通过sudo切换不同用户执行多租户任务
配置文件调整
关键配置项:
-
从现有节点复制以下配置文件到新节点:
- datasource.properties:数据库连接信息
- zookeeper.properties:ZK连接信息
- common.properties:资源存储配置
- dolphinscheduler_env.sh:环境变量
-
修改环境变量配置:
export JAVA_HOME=/opt/soft/java
export HADOOP_HOME=/opt/soft/hadoop
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
- 创建Java软链接:
ln -s $JAVA_HOME/bin/java /usr/bin/java
- 在所有节点更新install_env.sh:
# Master节点扩容示例
ips="node1,node2,node3,node4"
masters="node1,node2,node3"
# Worker节点扩容示例
workers="node1:group1,node2:group1,node4:group2"
权限设置
确保部署用户对安装目录有访问权限:
chown -R dolphinscheduler:dolphinscheduler /opt/dolphinscheduler
服务启动与验证
服务启停命令:
# 全集群操作
bin/stop-all.sh
bin/start-all.sh
# 单服务操作
bin/dolphinscheduler-daemon.sh start|stop master-server
bin/dolphinscheduler-daemon.sh start|stop worker-server
验证方法:
- 使用jps命令检查进程:
- MasterServer
- WorkerServer
- 查看日志文件:
- logs/dolphinscheduler-master-server.log
- logs/dolphinscheduler-worker-server.log
- 在Web UI的监控页面确认新节点状态
集群缩容操作
缩容步骤
-
停止待下线节点服务:
- 明确要下线的节点角色
- 在目标节点执行停止命令
-
更新集群配置:
- 在所有节点修改install_env.sh
- 移除下线节点的IP和角色配置
注意事项
-
确保至少保留:
- 2个Master节点(保证高可用)
- 1个Worker节点
-
缩容Worker节点前:
- 确认没有正在运行的任务
- 考虑任务队列的重新分配
-
缩容Master节点前:
- 确保剩余Master节点能承担负载
- 检查Zookeeper选举状态
最佳实践建议
- 变更窗口选择:在业务低峰期进行扩缩容操作
- 变更顺序:先扩容后缩容,确保服务连续性
- 监控指标:重点关注:
- 任务队列积压情况
- 系统资源利用率
- 任务执行成功率
- 回滚方案:准备快速回滚的脚本和配置备份
通过本文的详细指导,运维人员可以安全、高效地完成EasyScheduler集群的扩缩容操作,确保调度系统始终以最佳状态支撑业务需求。
dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/ea/EasyScheduler
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考