Apache DolphinScheduler 升级指南:从准备工作到完整流程详解

Apache DolphinScheduler 升级指南:从准备工作到完整流程详解

dolphinscheduler Apache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/do/dolphinscheduler

前言

Apache DolphinScheduler 作为一款优秀的分布式工作流任务调度系统,随着版本的迭代会带来性能优化、新功能增加等问题修复。本文将全面介绍 DolphinScheduler 的升级流程,帮助用户顺利完成版本升级。

升级前的准备工作

兼容性检查

在升级前必须仔细检查版本间的不兼容变更,这些变更可能导致现有功能异常。建议:

  1. 详细阅读官方发布说明中的不兼容变更部分
  2. 特别关注数据库表结构变更、API接口变更等核心改动
  3. 评估这些变更对现有工作流的影响

数据备份策略

数据备份是升级过程中最重要的环节,必须确保:

  1. 数据库备份:完整备份 DolphinScheduler 使用的数据库
    • MySQL 可使用 mysqldump 工具
    • PostgreSQL 可使用 pg_dump 工具
  2. 文件备份:备份安装目录下的重要配置文件
    • 包括但不限于 install_env.sh、application.yaml 等
  3. 资源备份:备份资源中心的所有文件

新版本获取

获取新版本二进制包时需注意:

  1. 从官方渠道下载最新稳定版本
  2. 将安装包存放在与原安装目录不同的路径
  3. 建议先在新环境中测试升级流程

详细升级步骤

服务停止流程

停止服务是升级的第一步,需确保:

  1. 按部署方式停止所有服务
    • 集群部署:使用 stop-all.sh 脚本
    • 单机部署:停止所有相关进程
  2. 确认所有服务进程已完全退出
  3. 建议记录当前运行的版本号和服务状态

数据库升级操作

数据库升级是核心环节,以 MySQL 为例:

  1. 驱动准备

    • 下载对应版本的 MySQL JDBC 驱动
    • 放置到指定目录(tools/libs)
  2. 环境变量配置

export DATABASE=mysql
export SPRING_PROFILES_ACTIVE=mysql
export SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8&useSSL=false"
export SPRING_DATASOURCE_USERNAME=your_username
export SPRING_DATASOURCE_PASSWORD=your_password
  1. 执行升级脚本
sh ./tools/bin/upgrade-schema.sh

注意事项

  • 其他数据库需相应调整配置
  • 大型数据库建议在低峰期执行升级
  • 升级前确保有足够的数据库连接资源

资源中心迁移(3.2.0+版本)

3.2.0 版本重构了资源中心,迁移时需注意:

  1. 指定目标租户执行迁移
sh ./tools/bin/migrate-resource.sh target_tenant
  1. 迁移结果:

    • 原资源会移动到目标租户的 .migrate 目录下
    • UDF 资源绑定信息会自动更新
    • 原有目录结构会保留
  2. 迁移后检查:

    • 确认所有资源文件完整迁移
    • 验证工作流是否能正确访问迁移后的资源

血缘关系升级

执行血缘数据迁移:

sh ./tools/bin/migrate-lineage.sh

迁移特点:

  1. 采用 upsert 操作,不会删除原有数据
  2. 数据迁移到新表 t_ds_process_task_lineage
  3. 如需清理旧数据需手动操作

服务升级与启动

  1. 配置文件更新

    • 根据部署方式更新 install_env.sh
    • 对比新旧版本配置差异
    • 保留自定义配置
  2. 服务启动

sh ./bin/start-all.sh
  1. 启动后验证
    • 检查各服务日志是否有报错
    • 验证核心功能是否正常
    • 检查定时任务是否按预期执行

特别注意事项

Worker 分组变更处理

不同版本的 Worker 分组机制有重大变化:

版本差异

  • 1.3.1 之前:通过 UI 创建分组
  • 1.3.1-2.0.0:通过配置文件指定分组
  • 2.0.0 之后:恢复 UI 创建分组功能

升级策略

  1. 查询原数据库 t_ds_worker_group
  2. 根据查询结果配置 workers 参数:
workers="ds1:service1,ds2:service2,ds3:service2"

多分组支持: 1.3.2+版本支持单 Worker 多分组:

workers="ds1:service1,ds1:service2"

升级后验证

完成升级后建议进行以下验证:

  1. 基础功能测试

    • 工作流创建与执行
    • 定时调度功能
    • 告警通知功能
  2. 数据完整性检查

    • 验证历史工作流实例数据
    • 检查资源文件可访问性
    • 确认血缘关系完整性
  3. 性能监控

    • 观察系统资源占用情况
    • 监控关键指标是否正常

常见问题处理

  1. 升级失败回滚

    • 恢复数据库备份
    • 回退到旧版本二进制
    • 检查日志定位问题
  2. 资源访问异常

    • 检查资源迁移路径
    • 验证文件权限设置
    • 确认租户配置正确
  3. Worker 不注册

    • 检查分组配置
    • 验证网络连通性
    • 查看 Worker 日志

结语

DolphinScheduler 的升级过程需要谨慎操作,特别是跨大版本的升级。建议在生产环境升级前,先在测试环境充分验证。升级后密切监控系统运行状态,确保所有功能正常运作。如遇问题,可参考官方文档或社区资源寻求帮助。

dolphinscheduler Apache DolphinScheduler is the modern data orchestration platform. Agile to create high performance workflow with low-code dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/do/dolphinscheduler

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孙嫣女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值