大数跨境

运维实战:Apache DolphinScheduler 生产环境升级

运维实战:Apache DolphinScheduler 生产环境升级 海豚调度
2023-05-31
1
导读:本篇是基于 Apache DolphinScheduler 3.1.3到3.1.4版本的升级。

点击蓝字,关注我们🔼


本篇是基于 Apache DolphinScheduler 3.1.3到3.1.4版本的升级。在使用 Apache DolphinScheduler 3.1.3版本的过程中,发现前端部分页面有显示时间差的问题,具体如下:

其他部分显示的时间都是和本地时间一致的,只有任务实例的提交时间、开始时间、结束时间部分和本地的时间相差13个小时。

通过更改页面的时区无法实现时间的正常显示;

此时官网已经发布了3.1.4最新版本,且修复了一些已知的bug;于是我决定升级到最新版本,看是否能解决此问题;


最新版本修复bug

https://github.com/apache/dolphinscheduler/releases/tag/3.1.4

升级准备


01
下载最新的安装包 or 编译最新的源码


下载地址:https://dolphinscheduler.apache.org/zh-cn/download/3.1.4


02
DolphinScheduler 元数据备份


Apache DolphinScheduler 在版本的改动上是有一些不向前兼容的更改,如果升级中版本的跨越涉及到,需要做对应的调整;

具体的说明可以参考官网的说明:https://dolphinscheduler.apache.org/zh-cn/docs/3.1.4/guide/upgrade/incompatible

升级过程中都会有升级失败的风险,所以如果想在升级失败的状态下回滚,就需要把存储的元数据做备份,这里是以mysql的数据备份为例,其他的请结合数据库的具体情况来定

#备份mysql整个数据库的数据

mysqldump -h${host} -u${username} -p${password} ${database_name} > ${backup_dir}/${database_name}.sql


03
修改新版本的配置


解压最新的安装到到特定的目录

tar -zxvf apache-dolphinscheduler-3.1.4-bin.tar.gz -C /home/dolphin3

编辑对应的配置文件,这里涉及到的配置文件包含下面几项,具体的内容参考

Dolphin3 安装篇:

  • install_env.sh  一键部署工具依赖的配置,工具将依赖此配置来部署集群的服务节点;

  • dolphinscheduler_env.sh  服务在启动运行中依赖的配置环境;

  • common.properties  配置文件在每个服务组件都有用到,这里没有通过统一的配置文件进行分发,需要我们分别手动配置;

  • alert-server/conf/common.properties

  • api-server/conf/common.properties

  • master-server/conf/common.properties

  • worker-server/conf/common.properties


说明:这里只有一处是需要修改的,就是新版本的安装目录的配置要和旧版本的安装目录不相同,具体更改如下:

cat /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/bin/env/dolphinscheduler_env.sh

04
更新数据库


执行数据库的升级,需要保证“3”步骤中dolphinscheduler_env.sh 文件中关于数据库链接的配置和老版本的完全一致;

另外需要下载对应数据库的驱动程序包到./tools/libs 目录下;

使用的是mysql的话,可以直接下载mysql-connector-java-8.0.16.jar 使用;

同时也需要把mysql-connector-java-8.0.16.jar拷贝到其他模块的lib目录下;

cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin

cp mysql-connector-java-8.0.16.jar alert-server/libs/cp mysql-connector-java-8.0.16.jar api-server/libs/cp mysql-connector-java-8.0.16.jar worker-server/libs/cp mysql-connector-java-8.0.16.jar master-server/libs/


执行数据库升级脚本

注意:在执行这个步骤就需要把老集群完全停掉了;

cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin

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


05
启用最新版本的服务


cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/bin

sh install.sh

等待脚本执行完成,然后检查所有的服务状态;

cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/bin

sh status-all.sh


06
验证新版本功能

登录 Web 页面,选定时区,再次执行任务就可以正常显示时间了。

07
总结


整体的升级过程不算很复杂,只需要在中间的配置过程中保证配置上和老集群保持一致即可。


参与贡献


随着国内开源的迅猛崛起,Apache DolphinScheduler 社区迎来蓬勃发展,为了做更好用、易用的调度,真诚欢迎热爱开源的伙伴加入到开源社区中来,为中国开源崛起献上一份自己的力量,让本土开源走向全球。


参与 DolphinScheduler 社区有非常多的参与贡献的方式,包括:


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


社区汇总了以下适合新手的问题列表:https://github.com/apache/dolphinscheduler/issues/5689


非新手问题列表:https://github.com/apache/dolphinscheduler/issues?q=is%3Aopen+is%3Aissue+label%3A%22volunteer+wanted%22


如何参与贡献链接:https://dolphinscheduler.apache.org/zh-cn/community/development/contribute.html


来吧,DolphinScheduler开源社区需要您的参与,为中国开源崛起添砖加瓦吧,哪怕只是小小的一块瓦,汇聚起来的力量也是巨大的。


参与开源可以近距离与各路高手切磋,迅速提升自己的技能,如果您想参与贡献,我们有个贡献者种子孵化群,可以添加社区小助手微信(Leonard-ds) ,手把手教会您( 贡献者不分水平高低,有问必答,关键是有一颗愿意贡献的心 )。

添加社区小助手微信(Leonard-ds) 



添加小助手微信时请说明想参与贡献。


来吧,开源社区非常期待您的参与。



< 🐬🐬 >
更多用户案例

DolphinScheduler×T3出行 | 打造车联网一站式数据应用交互体验

DolphinScheduler×长安汽车 | 千万级数据接入能力智能网联汽车云平台引进核心调度系统

金融科技数据中台基于 DolphinScheduler 的应用改造



点击阅读原文,点亮Star支持我们哟

【声明】内容源于网络
0
0
海豚调度
Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
内容 667
粉丝 0
海豚调度 Apache DolphinScheduler是一个分布式、去中心化、易扩展的可视化DAG工作流任务调度系统,其致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用。
总阅读167
粉丝0
内容667