V433升级至V4331失败,集群进入upgrading 状态,OBD无法执行其他指令

我看到这里有个4016的错误,可以把相关的错误信息都贴出来吗?
在日志目录下执行:

grep  YB420A010134-000624170BB7D77A-0-0 *

查看所有相关的日志

observer-detail-error.log (96.9 KB)

兄弟们,还有没有救。
暴力手段也行,反正我吃螃蟹之前做好心理准备了,数据都不重要。

这边发现一个类似的问题,稍等

你的433版本是在刚发布就安装的么

大概是430 然后431 432 然后433吧,前几天准备升4331BP,就出现这个问题。

  1. 关掉分区合并
    alter system _enable_adaptive_compaction=false tenant all;
    alter system _enable_adaptive_compaction=false tenant all_user;
    alter system _enable_adaptive_compaction=false tenant all_meta;

  2. 检查是否有除原报错的之外的未完成的分区合并任务
    select * from __all_virtual_tablet_compaction_info where max_received_scn > finished_scn;
    和已经报错4016的tablet_id做对比,是否有未完成的分区合并任务,如果有的话,需要等待完成
    select * from __all_virtual_dag_warning_history;

等待完成后

3.下载最新的433rpm包,将rpm包解压后替换原来部署路径下的 ~/observer/bin/observer文件
4.所有zone替换完成后,报错4016的分区应该都会合并成功,将_enable_adaptive_compaction都设置为true

1 个赞

image


执行完三个alter已经一个小时了,未见有结束的迹象。

另外新版本的rpm解压出来,是否只需要在observer上替换bin目录的四个文件?
为什么不是重新执行obd cluster upgrade xxx命令升级?

-rwxr-xr-x 1 root root      5300 Oct 22 17:28 import_srs_data.py
-rwxr-xr-x 1 root root      7172 Oct 22 17:28 import_time_zone_info.py
-rwxr-xr-x 1 root root 687995472 Oct 22 20:51 observer
-rwxr-xr-x 1 root root  32080992 Oct 22 17:30 obshell

只需替换observer即可

麻烦给个ocp界面该集群合并状态截图,当前433版本详细版本号

1.看下详细版本号
./observer -V

2.failed to merge partition(ret=-4016)报错应该在升级前就有了
grep “failed to merge partition” observer.log

3.根据1,2的结果 你可能需要替换下433版本的observer 二进制文件
参考下 OCP报警:failed to merge partition,错误码=4016 - #9,来自 旭辉

4.完成3后再升级4331

第2步只是检查有没有其他合并在进行,卡着的4016还是卡着,不用处理

没装OCP,只有express。

说来也是奇葩,最开始从4.3.0 all in one包开始解压用OBD装的集群,愣是装了个OCP mini版。
我说怎么看别人文章说OCP如何如何全面,我这个express怎么看着就那么mini呢。

使用深入以后发现,这个all in one 压根也不是什么all啊,缺Full的OCP,更别说装obproxy、OMS、其他大的配套了。in one是in one了,但真的是没有all。

我建议整合一下,以后OBD+OCP包打天下就完了,配套可以多,但是安装和维护的源头、界面一定要集中。

1、解压4.3.3.0的RPM,替换所有observer
QQ截图20241101092416

2、设置

alter system _enable_adaptive_compaction=true tenant all;
alter system _enable_adaptive_compaction=true tenant all_user;
alter system _enable_adaptive_compaction=true tenant all_meta;

3、重启无效、升级失败

 obd cluster restart obtest
[ERROR] Deploy "obtest" is upgrading. You could not restart an upgrading cluster.
 obd cluster upgrade obtest -c oceanbase-ce -V 4.3.3.1 
Get local repositories and plugins ok
Open ssh connection ok
Get deployment connections ok
Get standbys info ok
cluster scenario: htap
Start observer ok
observer program health check ok
obshell program health check ok
Connect to observer 10.1.1.52:2881 ok
Exec upgrade_checker.py x
[2024-11-01 09:08:00.460] [DEBUG] __main__.MyError: 'upgrade checker failed with 2 reasons: [1 tenant is merging, please check] , [6 tablet is merging, please check] '
[2024-11-01 09:08:00.460] [DEBUG] [16850] Failed to execute script executer27

目前合并不报错了吧?
all in one有两个oceanbase和ocp

确认下当前版本仍为433
你进入当前集群的config文件目录下修改.data文件
修改status: STATUS_RUNNING

1、修改status成功,可以display集群。

2、再次执行升级失败

[2024-11-01 10:58:09.224] [DEBUG] __main__.MyError: 'upgrade checker failed with 2 reasons: [1 tenant is merging, please check] , [3 tablet is merging, please check] '
[2024-11-01 10:58:09.224] [DEBUG] [16158] Failed to execute script executer27

3、再次陷入upgrading状态

obd cluster display obtest
Deploy "obtest" is upgrading

根据上面的sql再查看下当前合并状态呢