基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
添加 observer 节点报错 Server state or role not the same as expected
更新时间:2026-06-04 01:56
问题现象
在添加 observer 节点时,执行命令 alter system add server 出现报错 Server state or role not the same as expected。
问题原因
查看 RS 日志,可以看到如下告警日志:
[2024-04-23 08:50:35.548586] WDIAG [RS] check_master_key_empty (ob_rs_master_key_manager.cpp:360) [1039062][T1_L0_G0][T1][XXXXXXXXXXXX-XXXXXXXXXXXXXXXX-X-X] [lt=31][errcode=-4109] state not match(ret=-4109, ret="OB_STATE_NOT_MATCH")
[2024-04-23 08:50:35.548614] WDIAG [RS] master_key_checking_for_adding_server (ob_server_zone_op_service.cpp:327) [1039062][T1_L0_G0][T1][XXXXXXXXXXXX-XXXXXXXXXXXXXXXX-X-X] [lt=28][errcode=-4109] fail to check whether master key is empty(ret=-4109, ret="OB_STATE_NOT_MATCH")
[2024-04-23 08:50:35.548621] WDIAG [RS] add_servers (ob_server_zone_op_service.cpp:157) [1039062][T1_L0_G0][T1][XXXXXXXXXXXX-XXXXXXXXXXXXXXXX-X-X] [lt=6][errcode=-4109] master key checking for adding server is failed(ret=-4109, ret="OB_STATE_NOT_MATCH", addr="xxx.xxx.xxx.xxx:2882", picked_zone=zone2)
[2024-04-23 08:50:35.548640] WDIAG [RS] add_server (ob_root_service.cpp:7215) [1039062][T1_L0_G0][T1][XXXXXXXXXXXX-XXXXXXXXXXXXXXXX-X-X] [lt=15][errcode=-4109] fail to add servers
查看 rootservice.log 可以看到获取 master key 失败的日志。
grep "\[RsMKM" rootservice.log
返回结果如下:
[2024-04-23 08:50:40.348474] WDIAG [RS] run3 (ob_rs_master_key_manager.cpp:148) [3491][RsMKM][T0][Y0-0000000000000000-0-0] [lt=4][errcode=-4013] fail to reload rs master key mgr(ret=-4013, ret="OB_ALLOCATE_MEMORY_FAILED")
添加节点时需要获取所有节点的 master key,如果有节点获取失败便会报错 Server state or role not the same as expected。当有某个节点租户内存占用达到 100% 时,RS 在获取 master key 就会失败报错 -4013。
适用版本
OceanBase 数据库 V4.x 版本。
适用的租户
OceanBase 数据库 SYS 租户、MySQL 租户、Oracle 租户。
问题的风险及影响
节点添加失败。
解决方法
重启内存满的 observer 节点,确保租户内存水位正常。
规避方法
关注租户内存使用情况,避免租户内存耗尽。