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

3.3.1版本机器启动方式变得更复杂了,但是集群功能变得更好用了,资源利用率提高了。
17601715196352aa3a8eb1dcc1140

点击蓝字,关注我们

1

版本介绍

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

176017152635418ec3a07edabc5cc

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

2

先升级到3.2.0

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

  • https://DolphinScheduler.apache.org/zh-cn/docs/3.2.0
  • https://dolphinscheduler.apache.org/zh-cn/docs/3.3.1

升级到3.2.0很容易,如下:

2.1 解压安装包

先关闭集群,解压按转包


tar -zxf apache-dolphinscheduler-3.2.0-bin.tar.gz

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

2.2 驱动添加

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

[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 更新升级脚本

执行数据库升级脚本:

sh ./tools/bin/upgrade-schema.sh

2.4 资源迁移

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 函数绑定资源信息。

2.5 升级成功

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

1760171527286c4881284f27ebecf

执行启动过程:

./bin/start-all.sh

看看是否成功。


3

升级3.3.1(比较复杂)

3.1 解压安装包

tar -zxf apache-dolphinscheduler-3.3.1-bin.tar.gz

停止 dolphinscheduler 所有服务。

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

修改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时区修改

# 把时间修改成 上海时区可参考另外一篇文章 《3.1.2 海豚调度器的元数据库时间记录不对》修改application.yaml

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

 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

1760171528035432bf9aed7027890

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

# 下载需要一段时间bash ./bin/install-plugins.sh 3.3.1mv 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 更新升级脚本

# 数据库升级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
挨个机器启动:

# 启动 api-serverbash ./bin/dolphinscheduler-daemon.sh start api-server# 启动 master-serverbash ./bin/dolphinscheduler-daemon.sh start master-server# 启动 worker-serverbash ./bin/dolphinscheduler-daemon.sh start worker-server# 启动 alert-serverbash ./bin/dolphinscheduler-daemon.sh start alert-server

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

17601715346224896cdbe09362214

看看UI的界面有没有问题
1760171538622f69f845fcd58fac3

4

坑点

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

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

17601715453721239481d8ed25521
1760171546368fc7a930f8814bdeb
17601715453721239481d8ed25521

1760171557782496dea826c2f1562



用户案例



天翼云Zoom网易邮箱
每日互动 惠生工程 作业帮
博世智驾 蔚来汽车 长城汽车
集度长安汽车思科网讯
食行生鲜联通医疗联想
新网银行唯品富邦消费金融
自如有赞伊利当贝大数据
珍岛集团传智教育Bigo
YY直播 拈花云科太美医疗
Cisco Webex兴业证券


1760171557782496dea826c2f1562



迁移实战



Azkaban Ooize(当贝迁移案例)
airflow (有赞迁移案例)
Air2phin(迁移工具)
Airflow迁移实践

1760171557782496dea826c2f1562



发版消息




Apache DolphinScheduler 3.2.2版本正式发布!
Apache DolphinScheduler 3.2.1 版本发布:增强功能与安全性的全面升级
Apache DolphinScheduler 3.3.0 Alpha发布,功能增强与性能优化大升级!


1760171557782496dea826c2f1562



加入社区



关注社区的方式有很多:

  • GitHub: https://github.com/apache/dolphinscheduler
  • 官网:https://dolphinscheduler.apache.org/en-us
  • 订阅开发者邮件:dev@dolphinscheduler@apache.org(向邮箱发送任意内容,收到邮件后回复同意订阅即可)
  • X.com:@DolphinSchedule
  • YouTube:https://www.youtube.com/@apachedolphinscheduler
  • Slack:https://join.slack.com/t/asf-dolphinscheduler/shared_invite/zt-1cmrxsio1-nJHxRJa44jfkrNL_Nsy9Qg

同样地,参与Apache DolphinScheduler 有非常多的参与贡献的方式,主要分为代码方式和非代码方式两种。

非代码方式包括:

完善文档、翻译文档;翻译技术性、实践性文章;投稿实践性、原理性文章;成为布道师;社区管理、答疑;会议分享;测试反馈;用户反馈等。

‍代码方式包括:

查找Bug;编写修复代码;开发新功能;提交代码贡献;参与代码审查等。

贡献第一个PR(文档、代码) 我们也希望是简单的,第一个PR用于熟悉提交的流程和社区协作以及感受社区的友好度。

社区汇总了以下适合新手的问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3A%22first+time+contributor%22

优先级问题列表https://github.com/apache/dolphinscheduler/pulls?q=is%3Apr+is%3Aopen+label%3Apriority%3Ahigh

如何参与贡献链接https://dolphinscheduler.apache.org/zh-cn/docs/3.2.2/%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97_menu/%E5%A6%82%E4%BD%95%E5%8F%82%E4%B8%8E_menu

如果你❤️小海豚,就来为我点亮Star吧!

https://github.com/apache/dolphinscheduler

176017158697933ce91bb9eaa4af7


17601715889207b6464bafe7d1de4

你的好友秀秀子拍了拍你

并请你帮她点一下“分享”