Apache DolphinScheduler版本升级不兼容变更指南
前言
作为一款优秀的分布式工作流任务调度系统,Apache DolphinScheduler在版本迭代过程中会不断优化功能并修复问题。本文将详细梳理各版本间存在的不兼容变更,帮助用户在升级前做好充分准备,避免因不兼容变更导致系统异常。
不兼容变更概述
不兼容变更指的是版本升级后,原有功能或配置无法继续使用或需要调整才能正常工作的修改。这些变更通常涉及:
- 关键配置项变更
- API接口参数调整
- 功能模块移除
- 默认行为改变
最新开发版(dev)不兼容变更
1. 数据库驱动升级
MySQL驱动版本从8.0.16升级到8.0.33,这可能会影响:
- 数据库连接配置
- 特定SQL语法支持
- 连接池行为
建议升级前测试数据库兼容性。
2. 环境变量重命名
PYTHON_HOME
变更为PYTHON_LAUNCHER
DATAX_HOME
变更为DATAX_LAUNCHER
这会影响所有使用这些环境变量的任务执行,需要更新相关配置。
3. SQL任务参数匹配规则变更
SQL任务插件中的参数正则匹配规则被修改,这会影响:
- 带参数的SQL语句解析
- 变量替换逻辑
需要检查现有SQL任务是否依赖旧的匹配规则。
4. Spark任务变更
移除了Spark任务的版本配置选项,这意味着:
- 不再支持指定Spark版本
- 统一使用系统配置的Spark环境
5. Shell执行器变更
默认Unix shell执行器从sh改为bash,这会影响:
- Shell脚本任务的执行环境
- 脚本语法兼容性
如果脚本中有sh特有的语法,需要调整为bash兼容格式。
6. 存储操作接口变更
移除了StorageOperate
中download()
方法的deleteSource
参数,这意味着:
- 下载操作不再支持删除源文件选项
- 需要调整依赖此功能的工作流
7. 数据质量配置变更
- 移除了
common.properties
中data-quality.jar.name
的默认值 - 将
data-quality.jar.name
重命名为data-quality.jar.dir
,并改为表示目录
需要手动配置数据质量JAR文件的目录路径。
3.2.0版本不兼容变更
资源中心接口变更
移除了新资源中心公共接口中的description
参数,这会影响:
- 通过API创建或更新资源的调用
- 资源描述信息的存储方式
需要检查并更新相关API调用代码。
3.0.0版本不兼容变更
工作流复制变更
复制和导入工作流时不再自动添加"copy"后缀,这会影响:
- 工作流命名策略
- 重复工作流的识别方式
SQL分隔符变更
默认SQL段分隔符改为分号(;),这会影响:
- 多语句SQL任务的解析
- SQL脚本的执行方式
如果原有SQL使用其他分隔符,需要显式指定。
3.2.0版本API变更
数据源相关API
在以下API中添加了必填字段database
:
/datasources/tables
/datasources/tableColumns
调用这些API时必须提供数据库名称参数。
3.3.0版本不兼容变更
功能模块移除
- 移除了资源中心中的
udf-manage
功能 - 移除了任务插件中的
Pigeon
插件
如果工作流中使用了这些功能,需要提前规划替代方案。
升级建议
- 全面测试:在测试环境验证所有变更点
- 配置检查:对照变更列表检查现有配置
- 脚本更新:调整受影响的脚本和API调用
- 功能替代:为移除的功能寻找替代方案
- 分步升级:复杂环境建议分阶段升级
结语
版本升级是系统演进的必要过程,了解不兼容变更可以帮助我们平滑过渡。建议用户在升级前详细阅读本文档,并参考官方文档完成升级准备。对于复杂环境,可以考虑寻求社区支持或专业服务。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考