
举例:CREATE DATABASE dolphinscheduler 32 2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8general_ci;
./upgrade_dolphin,修改数据库配置,执行升级脚本;dolphinscheduler_2_0_0;t_ds_process_definition表的
process_definition_json字段的每个task拆分为新增
t_ds_task_definition表的每一行

共修改了4处,增加了null值判断,功能是拆分task、dependent依赖。
实际过程中可能还会有其他报错,根据升级脚本执行实际修改代码,再重新打包即可,举例:


UpgradeDao.java将打包后的 dao 文件,放置到 lib 目录下即可,附v2.0.0源代码、打包后的jar:
进入
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版本的数据dolphinscheduler 20_0:
mysqldump -uroot -pmysql dolphinscheduler 20 0 > .mysqlbak/dolphinscheduler 20_0.sql
将v2.0.0备份的数据库,导入到库dolphinscheduler 20_9;
tar -zxvf apache-dolphinscheduler-2.0.9-bin.tar.gz -C ./upgrade_dolphin/
进入
apache-dolphinscheduler-2.0.9-bin目录,修改
conf/config/install_config.conf数据库配置为
dolphinscheduler_2_0_9;

升级后v2.0.9版本的数据dolphinscheduler 20_9:
mysqldump -uroot -pmysql dolphinscheduler 20 9 > .mysqlbak/dolphinscheduler 20_9.sql
将v2.0.9备份的数据库,导入到库dolphinscheduler 30_0;
tar -zxvf apache-dolphinscheduler-3.0.0-bin.tar.gz -C ./upgrade_dolphin/
进入apache-dolphinscheduler-3.0.0-bin目录,修改bin/env/dolphinscheduler env.sh数据库配置为dolphinscheduler3 00;

升级后v3.0.0版本的数据dolphinscheduler 30_0:
mysqldump -uroot -pmysql dolphinscheduler 30 0 > .mysqlbak/dolphinscheduler 30_0.sql
将v3.0.0备份的数据库,导入到库dolphinscheduler 31_0;
tar -zxvf apache-dolphinscheduler-3.1.0-bin.tar.gz -C ./upgrade_dolphin/
进入
apache-dolphinscheduler-3.1.0-bin目录,修改
bin/env/dolphinscheduler_env.sh数据库配置为
dolphinscheduler_3_1_0;

other_params_json字段的语句:
tools/sql/sql/upgrade/3.1.0_schema/mysql/dolphinscheduler_ddl.sqlsh tools/bin/upgrade-schema.sh,注意看过程中的报错;t_ds_version 表中数据版本变成 3.1.0升级后v3.1.0版本的数据dolphinscheduler 31_0:
mysqldump -uroot -pmysql dolphinscheduler 31 0 > .mysqlbak/dolphinscheduler 31_0.sql
将v3.1.0备份的数据库,导入到库
dolphinscheduler_3_1_8;
tar -zxvf apache-dolphinscheduler-3.1.8-bin.tar.gz -C ./upgrade_dolphin/
进入
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版本的数据dolphinscheduler 31_8:
mysqldump -uroot -pmysql dolphinscheduler 31 8 > .mysqlbak/dolphinscheduler 31_8.sql
将v3.1.8备份的数据库,导入到库
dolphinscheduler_3_2_2;
tar -zxvf apache-dolphinscheduler-3.2.2-bin.tar.gz -C ./upgrade_dolphin/
进入
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;修改
bin/env/dolphinscheduler_env.sh脚本,datax、python等:

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/ ,如需转载,请注明出处,否则将追究法律责任。