天天看点

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

0、说明:本篇是基于DolphinScheduler 3.1.3升级到3.1.4版本的升级。

背景:在使用DolphinScheduler 3.1.3版本的过程中发现前端部分页面有显示时间差的问题,具体如下;

其他部分显示的时间都是和本地时间一致的,只有任务实例的提交时间、开始时间、结束时间部分和本地的时间相差13个小时。通过更改页面的时区无法实现时间的正常显示;

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

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

最新版本修复bug

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

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

升级准备:

1、下载最新的二进制安装包,或者通过最新的源码编译;

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

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

2、DolphinScheduler 元数据备份

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

3、修改新版本的配置

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

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

编辑对应的配置文件,这里涉及的到的配置文件包含下面几项,具体的内容参考《1、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

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

4、更新数据库

执行数据库的升级,需要保证“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-bincp 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-binsh ./tools/bin/upgrade-schema.sh

5、启用最新版本的服务

cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/binsh install.sh

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

cd /home/dolphin3/apache-dolphinscheduler-3.1.4-bin/binsh status-all.sh
运维实战:DolphinScheduler 生产环境升级

6、验证新版本功能

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

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

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

继续阅读