ITPub博客

首页 > 大数据 > 数据挖掘 > Apache DolphinScheduler 逐步升级指南:1.3.6 至 3.2.2

Apache DolphinScheduler 逐步升级指南:1.3.6 至 3.2.2

原创 数据挖掘 作者:DolphinScheduler 时间:2026-07-10 15:53:35 0 删除 编辑

升级1.3.6-3.2.2

一、整体步骤

  1. 版本升级路线:v1.3.6 -> v2.0.0 -> v2.0.9 -> v3.0.0 -> v3.1.8 -> v3.2.2;
  2. 下载各版本的二进制安装包: https://archive.apache.org/dist/dolphinscheduler/3.1.8/apache-dolphinscheduler-3.1.8-bin.tar.gz;
  3. 创建各版本的数据库(mysql): dolphinscheduler 20 0、dolphinscheduler2 09、dolphinscheduler 30 0、dolphinscheduler3 10、dolphinscheduler 31 8、dolphinscheduler3 22;

举例:CREATE DATABASE dolphinscheduler 32 2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8general_ci;

  1. 解压各版本的安装包至路径: ./upgrade_dolphin,修改数据库配置,执行升级脚本;
  2. 参考文档:
  3. 知乎文档: https://zhuanlan.zhihu.com/p/654601675
  4. 官网文档: https://dolphinscheduler.apache.org/zh-cn/docs/2.0.0/guide/upgrade
  5. 官网看各版本文档,本文档也写明了各个步骤的注意事项;

二、升级 v1.3.6 -> v2.0.0

  1. dump 备份数据库:原1.3.6版本的数据是dolphinscheduler:mysqldump -uroot -pmysql dolphinscheduler > .mysql_bak/dolphinscheduler.sql
  2. 导入数据:将v1.3.6备份的数据库,导入到库 dolphinscheduler_2_0_0;
  3. 解压安装包:tar -zxvf apache-dolphinscheduler-2.0.0-bin.tar.gz -C ./upgrade_dolphin/
  4. 修改v2.0.0源码:
  5. v1.3.6 升级 v2.0.0时,task的定义,从原有 t_ds_process_definition表的 process_definition_json字段的每个task拆分为新增 t_ds_task_definition表的每一行
  6. 需要修改源码的几处位置,避免空指针异常:
  7. 报错举例:

共修改了4处,增加了null值判断,功能是拆分task、dependent依赖。

实际过程中可能还会有其他报错,根据升级脚本执行实际修改代码,再重新打包即可,举例:

  1. 修改后的代码: UpgradeDao.java

将打包后的 dao 文件,放置到 lib 目录下即可,附v2.0.0源代码、打包后的jar:

  • v2.0.0源代码:Apache Download Mirrors
  • 打包后的jar:dolphinscheduler-dao-2.0.0.jar
  1. 升级:
  • 修改数据库配置:

进入 apache-dolphinscheduler-2.0.0-bin目录,修改 conf/datasource.properties数据库配置为 dolphinscheduler_2_0_0;

  • 上传 mysql-connector-java-8.0.16.jar到 lib下;
  • 执行升级脚本: sh script/upgrade-dolphinscheduler.sh,注意看过程中的报错;
  • 成功后查看 t_ds_version 表中数据版本变成 2.0.0
  • 完成升级;

三、升级 v2.0.0 -> v2.0.9

  1. dump 备份数据库:

升级后v2.0.0版本的数据dolphinscheduler 20_0:

mysqldump -uroot -pmysql dolphinscheduler 20 0 > .mysqlbak/dolphinscheduler 20_0.sql

  1. 导入数据:

将v2.0.0备份的数据库,导入到库dolphinscheduler 20_9;

  1. 解压安装包:

tar -zxvf apache-dolphinscheduler-2.0.9-bin.tar.gz -C ./upgrade_dolphin/

  1. 升级:
  • 修改数据库配置:

进入 apache-dolphinscheduler-2.0.9-bin目录,修改 conf/config/install_config.conf数据库配置为 dolphinscheduler_2_0_9;

  • 上传mysql-connector-java-8.0.16.jar到lib下;
  • 执行升级脚本:sh script/upgrade-dolphinscheduler.sh,注意看过程中的报错;
  • 成功后查看 t dsversion 表中数据版本变成 2.0.9
  • 完成升级;

四、升级 v2.0.9 -> v3.0.0

  1. dump 备份数据库:

升级后v2.0.9版本的数据dolphinscheduler 20_9:

mysqldump -uroot -pmysql dolphinscheduler 20 9 > .mysqlbak/dolphinscheduler 20_9.sql

  1. 导入数据:

将v2.0.9备份的数据库,导入到库dolphinscheduler 30_0;

  1. 解压安装包:

tar -zxvf apache-dolphinscheduler-3.0.0-bin.tar.gz -C ./upgrade_dolphin/

  1. 升级:
  • 修改数据库配置:

进入apache-dolphinscheduler-3.0.0-bin目录,修改bin/env/dolphinscheduler env.sh数据库配置为dolphinscheduler3 00;

  • 上传mysql-connector-java-8.0.16.jar到lib下;
  • 修改数据库脚本,移除添加alert type字段的语句:tools/sql/sql/upgrade/3.0.0schema/mysql/dolphinscheduler_ddl.sql
  • 执行升级脚本:sh tools/bin/upgrade-schema.sh,注意看过程中的报错;
  • 成功后查看 t dsversion 表中数据版本变成 3.0.0
  • 完成升级;

五、升级 v3.0.0 -> v3.1.0

  1. dump 备份数据库:

升级后v3.0.0版本的数据dolphinscheduler 30_0:

mysqldump -uroot -pmysql dolphinscheduler 30 0 > .mysqlbak/dolphinscheduler 30_0.sql

  1. 导入数据:

将v3.0.0备份的数据库,导入到库dolphinscheduler 31_0;

  1. 解压安装包:

tar -zxvf apache-dolphinscheduler-3.1.0-bin.tar.gz -C ./upgrade_dolphin/

  1. 升级:
  • 修改数据库配置:

进入 apache-dolphinscheduler-3.1.0-bin目录,修改 bin/env/dolphinscheduler_env.sh数据库配置为 dolphinscheduler_3_1_0;

  • 上传mysql-connector-java-8.0.16.jar到lib下;
  • 修改数据库脚本,移除添加 other_params_json字段的语句: tools/sql/sql/upgrade/3.1.0_schema/mysql/dolphinscheduler_ddl.sql
  • 执行升级脚本: sh tools/bin/upgrade-schema.sh,注意看过程中的报错;
  • 成功后查看 t_ds_version 表中数据版本变成 3.1.0
  • 完成升级;

六 升级 v3.1.0 -> v3.1.8

  1. dump 备份数据库:

升级后v3.1.0版本的数据dolphinscheduler 31_0:

mysqldump -uroot -pmysql dolphinscheduler 31 0 > .mysqlbak/dolphinscheduler 31_0.sql

  1. 导入数据:

将v3.1.0备份的数据库,导入到库 dolphinscheduler_3_1_8;

  1. 解压安装包:

tar -zxvf apache-dolphinscheduler-3.1.8-bin.tar.gz -C ./upgrade_dolphin/

  1. 升级:
  • 修改数据库配置:

进入 apache-dolphinscheduler-3.1.8-bin目录,修改 bin/env/dolphinscheduler_env.sh数据库配置为 dolphinscheduler_3_1_8;

  • 上传 mysql-connector-java-8.0.16.jar到 lib下;
  • 执行升级脚本: sh tools/bin/upgrade-schema.sh,注意看过程中的报错;
  • 成功后查看 t_ds_version 表中数据版本变成 3.1.8;
  • 完成升级;

七、升级 v3.1.8 -> v3.2.2

  1. dump 备份数据库:

升级后v3.1.8版本的数据dolphinscheduler 31_8:

mysqldump -uroot -pmysql dolphinscheduler 31 8 > .mysqlbak/dolphinscheduler 31_8.sql

  1. 导入数据:

将v3.1.8备份的数据库,导入到库 dolphinscheduler_3_2_2;

  1. 解压安装包:

tar -zxvf apache-dolphinscheduler-3.2.2-bin.tar.gz -C ./upgrade_dolphin/

  1. 升级:
  • 修改数据库配置:

进入 apache-dolphinscheduler-3.2.2-bin目录,修改 bin/env/dolphinscheduler_env.sh数据库配置为 dolphinscheduler_3_2_2;

  • 上传 mysql-connector-java-8.0.16.jar到 lib下;
  • 执行升级脚本: sh tools/bin/upgrade-schema.sh,注意看过程中的报错;
  • 成功后查看 t_ds_version 表中数据版本变成 3.2.2;
  • 完成升级;

八、后续处理

  1. 脚本依赖

修改 bin/env/dolphinscheduler_env.sh脚本,datax、python等:

  1. MySQL 类型数据源处理,页面点击数据源修改会报错,原因是 t_ds_datasource表中的 connection_params字段格式错误,将原有的地址等信息,按照v3.2.2版本的格式调整一下,修改 connection_params即可。附v3.2.2版本connection_params格式:
{"user":"root","password":"doris","address":"jdbc:mysql://127.0.0.1:9030","database":"PROD_ODS","jdbcUrl":"jdbc:mysql://127.0.0.1:9030/PROD_ODS","driverClassName":"com.mysql.cj.jdbc.Driver","validationQuery":"select 1"}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70014275/viewspace-3175656/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2022-02-23

  • 博文量
    82
  • 访问量
    80986