MeterSphere升级后api-test服务一直是starting状态,错误日志(contains a failed migration to version 2)原因及解决方法

MeterSphere升级后api-test服务一直是starting状态原因及解决方法

升级后服务异常

一直在用MeterSphere接口自动化测试,想用MeterSphere最新版本里的一些新功能和优化,(MeterSphere稳定快速迭代,一个月一个大版本),我这里从2.1版本直接升级到2.6版本,升级过程非常顺利,但是升级完成后,其他服务都能正常运行,只有api-test服务一直是starting启动状态。
在这里插入图片描述

查看系统日志

到后台查看一下系统日志,MeterSphere的日志文件默认都存储logs目录下:/opt/metersphere/logs
现在是因为api-test服务异常,所以查看api-test相关的日志就行**/opt/metersphere/logs/api-test**
在这里插入图片描述
我一般习惯查看info.log,也可以查看error.log。
查看info.log日志发现了报的是flyway相关错误,并且相关版本是version2.
在这里插入图片描述

问题原因

在GitHub上,查看MeterSphere2.6相关信息,发现在2.6版本中MeterSphere对系统报告数据和功能做了大量的优化,如果系统存在报告数据量比较大时,在系统升级时就会出现问题,需要人为手动执行flyway sql version = 2 的sql文件。

解决方法

1、下载文件目录:注意MeterSphere是微服务架构的,所以要到对应的服务下,查看和下载相应的数据文件,此api-test问题,就到api-test里下载即可
在这里插入图片描述

2、下载sql文件:根据错误日志信息,执行api-test服务里相对应sql文件。注意:这里下载的分支一定要和安装的MeterSphere版本一致
文件路径: https://github.com/metersphere/metersphere/blob/v2.6/api-test/backend/src/main/resources/db/migration/V2__2.3.0_release.sql
在这里插入图片描述3、执行SQL文件:打开此sql文件,可以看到有大量的更新。我系统中报告数据量比较大,花了些时间在执行上。建议逐条手动执行每一个更新。
在这里插入图片描述
4、修改api-version数据表信息 :第一步中的更新全部执行成功后,修改 api_version 表对应版本的 success 值为1。注意:因为是微服务架构,所以如果是其他的服务,也是找到对应服务的version表修改。

在这里插入图片描述
5、msctl reload 重启服务即可
6、msctl status 查看服务状态,所有服务正常
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值