Apache DolphinScheduler 版本升级不兼容变更详解

Apache DolphinScheduler 版本升级不兼容变更详解

dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/dol/dolphinscheduler

前言

Apache DolphinScheduler 作为一款优秀的分布式工作流任务调度系统,在版本迭代过程中会不断优化和改进功能。本文将详细梳理各版本间不兼容的变更内容,帮助用户在升级前充分了解可能带来的影响,做好升级准备工作。

开发版(dev)不兼容变更

1. 数据库驱动升级

MySQL 驱动版本从 8.0.16 升级至 8.0.33。这一变更意味着:

  • 需要确保生产环境的 MySQL 服务版本与新驱动兼容
  • 可能需要更新连接池配置参数
  • 建议在测试环境先行验证数据库连接稳定性

2. 环境变量名称变更

  • PYTHON_HOME 改为 PYTHON_LAUNCHER
  • DATAX_HOME 改为 DATAX_LAUNCHER

影响范围

  • 所有使用这些环境变量的脚本和配置都需要相应更新
  • 系统环境变量和容器环境变量都需要同步修改

3. SQL 任务变量匹配正则更新

SQL 任务中用于匹配变量的正则表达式进行了优化调整。这会影响:

  • 原有 SQL 脚本中特殊格式的变量引用
  • 自定义的 SQL 模板可能需要检查兼容性

4. Spark 任务变更

移除了 Spark 任务中的版本配置选项。这意味着:

  • 系统将使用默认的 Spark 版本执行任务
  • 如需特定版本支持,需要通过其他方式配置

5. Shell 执行器变更

默认的 Unix shell 执行器从 sh 改为 bash。需要注意:

  • 确保所有工作节点都安装了 bash
  • 检查现有 shell 脚本是否依赖 sh 特有语法
  • 如需保持原行为,可显式指定使用 sh

6. 存储操作接口变更

移除了 StorageOperate 中 download() 方法的 deleteSource 参数。影响:

  • 依赖此参数行为的自定义存储实现需要调整
  • 下载操作将不再支持自动删除源文件功能

3.2.0 版本不兼容变更

资源中心接口变更

资源中心相关接口删除了 description 请求参数。这意味着:

  • 通过 API 管理资源时不能再设置描述信息
  • 前端界面可能需要相应调整
  • 已有资源的描述信息不受影响,仍可查询

数据源接口变更

在以下接口中添加了必选字段 database:

  • /datasources/tables
  • /datasources/tableColumns

升级后需要:

  • 确保所有调用这些接口的代码都提供了 database 参数
  • 检查相关的前端页面是否已适配此变更

3.0.0 版本不兼容变更

工作流复制导入变更

复制和导入工作流时不再自动添加 'copy' 后缀。影响:

  • 重复导入同名工作流时需要注意名称冲突
  • 可能需要调整现有的工作流管理流程

SQL 分隔符变更

默认 SQL 段分隔符改为分号(;)。需要注意:

  • 原有的多语句 SQL 脚本可能需要调整
  • 自定义的分隔符配置需要检查兼容性

3.3.0 版本重大变更

1. 功能模块移除

  • 移除了资源中心中的 udf-manage 功能
  • 移除了任务插件中的 Pigeon 类型
  • 完全移除了数据质量模块

应对措施

  • 如果依赖这些功能,需要寻找替代方案
  • 检查现有工作流是否使用了被移除的插件类型

2. 术语统一

将代码中的 process 统一改为 workflow。影响:

  • 自定义开发的扩展功能需要同步更新术语
  • API 调用时需要注意术语变更

3. 废弃升级代码

废弃了从 1.x 至 2.x 的升级代码。这意味着:

  • 直接从 1.x 升级到 3.3.0 将不再支持
  • 需要先升级到 2.x 中间版本

4. 配置项变更

  • 移除了 application.yaml 中的 registry-disconnect-strategy 配置
  • worker 配置中移除了 exec-threads,改用 physical-task-config
  • master 配置中移除了 master-async-task-executor-thread-pool-size,改用 logic-task-config

迁移建议

  • 仔细对照新旧配置文档
  • 测试环境验证新配置项的有效性

5. 数据库变更

移除了 t_ds_worker_group 表中的 other_params_json 字段。需要:

  • 检查是否有业务逻辑依赖此字段
  • 确保数据库迁移脚本正确执行

6. 任务插件变更

移除了 Dynamic 类型任务插件。影响:

  • 使用此插件的工作流需要重新设计
  • 考虑使用其他插件类型替代

升级建议

  1. 全面评估:仔细阅读本文档,评估每个变更对现有系统的影响
  2. 测试验证:先在测试环境进行升级验证,确保关键功能正常
  3. 分步升级:对于大版本跨越,考虑分阶段升级
  4. 备份数据:升级前务必备份数据库和关键配置
  5. 文档更新:同步更新内部文档和运维手册

通过充分了解这些不兼容变更,用户可以更顺利地完成 Apache DolphinScheduler 的版本升级,享受新版本带来的改进和优化。

dolphinscheduler Dolphinscheduler是一个分布式调度系统,主要用于任务调度和流程编排。它的特点是易用性高、可扩展性强、性能稳定等。适用于任务调度和流程自动化场景。 dolphinscheduler 项目地址: https://gitcode.com/gh_mirrors/dol/dolphinscheduler

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

贡锨庆

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

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

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

打赏作者

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

抵扣说明:

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

余额充值