首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南

3.1.8<3.2.0<3.3.1,Apache DolphinScheduler集群升级避坑指南

原创
作者头像
Apache DolphinScheduler
发布2025-10-10 11:33:34
发布2025-10-10 11:33:34
1200
代码可运行
举报
文章被收录于专栏:DolphinSchedulerDolphinScheduler
运行总次数:0
代码可运行

一、版本介绍

本人的是集群3.1.8因为3.1.8的一些漏洞才升级到3.3.1,具体漏洞如下:

虽然上述漏洞也可以不用升级解决,但是3.3.1版本有更详细的权限管控资源便也升级了;3.3.1版本机器启动方式变得更复杂了,但是集群功能变得更好用了,资源利用率提高了。

二、先升级到3.2.0

先到官网下载对应安装包:

升级到3.2.0很容易,如下:

2.1 解压安装包

先关闭集群,解压按转包

代码语言:javascript
代码运行次数:0
运行
复制
tar -zxf apache-dolphinscheduler-3.2.0-bin.tar.gz

修改bin/env/文件配置 dolphinscheduler_env.sh install_env.sh

2.2 驱动添加

MySQL、Oracle(看自己需求)驱动添加

代码语言:javascript
代码运行次数:0
运行
复制
[root@cm01 java]# cp mysql-connector-java.jar /opt/apache-dolphinscheduler-3.1.8-bin/alert-server/libs
[root@cm01 java]# cp mysql-connector-java.jar /opt/apache-dolphinscheduler-3.1.8-bin/api-server/libs
[root@cm01 java]# cp mysql-connector-java.jar /opt/apache-dolphinscheduler-3.1.8-bin/master-server/libs
[root@cm01 java]# cp mysql-connector-java.jar /opt/apache-dolphinscheduler-3.1.8-bin/worker-server/libs

[root@cm01 java]# cp mysql-connector-java.jar /opt/apache-dolphinscheduler-3.1.8-bin/tools/libs

2.3 更新升级脚本

执行数据库升级脚本:

代码语言:javascript
代码运行次数:0
运行
复制
sh ./tools/bin/upgrade-schema.sh

2.4 资源迁移

3.2.0 版本资源中心重构,原资源中心内的资源将不受管理,您可以指定迁移到的目标租户,然后运行一次性资源迁移脚本,所有资源会迁移到目标租户的 .migrate 目录下。

示例: 指定已存在目标租户 abc,其资源根目录为 /dolphinscheduler/abc/

执行脚本:

代码语言:javascript
代码运行次数:0
运行
复制
sh ./tools/bin/migrate-resource.sh abc。

执行结果: 原文件资源 a/b.sh 迁移至 /dolphinscheduler/abc/resources/.migrate/a/b.sh

原UDF资源x/y.jar迁移至/dolphinscheduler/abc/udf/.migrate/x/y.jar

更新 UDF 函数绑定资源信息。

2.5 升级成功

这时候进数据库看看版本是否升级到3.2.0

执行启动过程:

代码语言:javascript
代码运行次数:0
运行
复制
./bin/start-all.sh

看看是否成功。

三、升级3.3.1(比较复杂)

3.1 解压安装包

代码语言:javascript
代码运行次数:0
运行
复制
tar -zxf apache-dolphinscheduler-3.3.1-bin.tar.gz

停止 dolphinscheduler 所有服务。

3.3.1版本下载下来会发现安装包很小才200多M,因为很多插件需要自己额外下载

代码语言:javascript
代码运行次数:0
运行
复制
修改cd /data/apache-dolphinscheduler-3.3.1-bin/bin/env/文件配置
直接复制过来
dolphinscheduler_env.sh

3.2 驱动添加以及配置修改

3.2.1 驱动添加按照2.2添加即可

这里的mysql驱动要换成8.0.16 以上 mysql-connector-java-8.0.16.jar

3.2.2 配置修改

3.2.2.1时区修改

代码语言:javascript
代码运行次数:0
运行
复制
# 把时间修改成 上海时区
可参考另外一篇文章 《3.1.2 海豚调度器的元数据库时间记录不对》
修改application.yaml

3.2.2.2 数据库明文密码修改成加密

代码语言:javascript
代码运行次数:0
运行
复制
 1023  vim /*/alert-server/conf/common.properties
 1024  vim /*/api-server/conf/common.properties
 1025  vim /*/master-server/conf/common.properties
 1026  vim /*/worker-server/conf/common.properties
 1028  vim /*/tools/conf/common.properties

3.3 下载插件依赖(需要连接外网)

代码语言:javascript
代码运行次数:0
运行
复制
# 下载需要一段时间
bash ./bin/install-plugins.sh 3.3.1

mv dolphinscheduler-datasource-azure-sql-3.3.1.jar dolphinscheduler-datasource-azure-sql-3.3.1.jar.bak
路径下/data/apache-dolphinscheduler-3.3.1-bin/plugins/datasource-plugins/

work-server ->libs下加入2个jar hadoop-common-3.3.4.jar htrace-core4-4.2.0-incubating.jar

3.4 更新升级脚本

代码语言:javascript
代码运行次数:0
运行
复制
# 数据库升级
sh ./tools/bin/upgrade-schema.sh

3.5 资源迁移和血缘升级

参考官网添加链接描述:https://dolphinscheduler.apache.org/zh-cn/docs/3.3.1/guide/upgrade/upgrade

因为我没有资源和血缘,所以该步骤省略。

  • 资源迁移 3.2.0 版本资源中心重构,原资源中心内的资源将不受管理,您可以指定迁移到的目标租户,然后运行一次性资源迁移脚本,所有资源会迁移到目标租户的 .migrate 目录下。

示例: 指定已存在目标租户 abc,其资源根目录为 /dolphinscheduler/abc/。

执行脚本:sh ./tools/bin/migrate-resource.sh abc。

执行结果:

原文件资源 a/b.sh 迁移至 /dolphinscheduler/abc/resources/.migrate/a/b.sh。 原 UDF 资源 x/y.jar 迁移至 /dolphinscheduler/abc/udf/.migrate/x/y.jar。 更新 UDF 函数绑定资源信息。

  • 血缘升级 执行脚本:sh ./tools/bin/migrate-lineage.sh。

执行结果:

原血缘数据迁移至新血缘表 t_ds_workflow_task_lineage。 此脚本仅执行 upsert 操作,不执行删除操作,如果需要删除,您可以手动删除。

3.6 集群部署

复制第一台机器文件到第二台和第三台 /data/apache-dolphinscheduler-3.3.1-bin 挨个机器启动:

代码语言:javascript
代码运行次数:0
运行
复制
# 启动 api-server
bash ./bin/dolphinscheduler-daemon.sh start api-server

# 启动 master-server
bash ./bin/dolphinscheduler-daemon.sh start master-server

# 启动 worker-server
bash ./bin/dolphinscheduler-daemon.sh start worker-server

# 启动 alert-server
bash ./bin/dolphinscheduler-daemon.sh start alert-server

启动后jps看一下进程是否起来

看看UI的界面有没有问题

四、坑点

4.1 升级到3.2.0 不小心把管理员密码给忘记了,重置密码,加密方式3.3.1之前都是md5加密,deepseek说是3.2.0之后是BCrypt 哈希值加密,是胡扯的。

原文链接:https://blog.csdn.net/weixin_48277834/article/details/151997830

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、版本介绍
  • 二、先升级到3.2.0
    • 2.1 解压安装包
    • 2.2 驱动添加
    • 2.3 更新升级脚本
    • 2.4 资源迁移
    • 2.5 升级成功
  • 三、升级3.3.1(比较复杂)
    • 3.1 解压安装包
    • 3.2 驱动添加以及配置修改
    • 3.3 下载插件依赖(需要连接外网)
    • 3.4 更新升级脚本
    • 3.5 资源迁移和血缘升级
    • 3.6 集群部署
  • 四、坑点
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档