创建 oceanbase 442 集群报错


2026-09-10 11:01:43.853 ERROR 11 — [manual-subtask-executor14,e13843f6930a478e,87df2f940a335f78] c.o.ocp.core.util.ExceptionUtils : Checked Exception: com.oceanbase.ocp.core.exception.UnexpectedException occurred with code error.obproxy.server.not.found, and args [2000001]

2026-09-10 11:01:43.862 ERROR 11 — [manual-subtask-executor14,e13843f6930a478e,87df2f940a335f78] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor : The OBProxy server with the ID of 2,000,001 is not found.

com.oceanbase.ocp.core.exception.UnexpectedException: [OCP UnexpectedException]: status=500 INTERNAL_SERVER_ERROR, errorCode=OBPROXY_SERVER_NOT_FOUND, args=2000001
at jdk.internal.reflect.GeneratedConstructorAccessor3585.newInstance(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
at com.oceanbase.ocp.core.util.ExceptionUtils.newException(ExceptionUtils.java:96)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.lambda$obproxyConfigItems$0(HostAgentConfigManagerImpl.java:431)
at java.base/java.util.Optional.orElseThrow(Optional.java:403)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.obproxyConfigItems(HostAgentConfigManagerImpl.java:431)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.hostServiceConfigItems(HostAgentConfigManagerImpl.java:230)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.buildUpdateAgentConfigRequest(HostAgentConfigManagerImpl.java:128)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.refreshAgentProperties(HostAgentConfigManagerImpl.java:151)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl.refreshAgentConfig(HostAgentConfigManagerImpl.java:165)
at jdk.internal.reflect.GeneratedMethodAccessor1885.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:359)
at org.springframework.ao
p.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:380)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
at com.oceanbase.ocp.compute.agent.manager.HostAgentConfigManagerImpl$$SpringCGLIB$$0.refreshAgentConfig()
at com.oceanbase.ocp.service.task.business.host.RefreshAgentConfigTask.run(RefreshAgentConfigTask.java:31)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.execute(JavaSubtaskRunner.java:64)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.doRun(JavaSubtaskRunner.java:32)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.run(JavaSubtaskRunner.java:26)
at com.oceanbase.ocp.core.task.engine.runner.RunnerFactory.doRun(RunnerFactory.java:76)
at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.doRun(SubtaskExecutor.java:234)
at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.redirectConsoleOutput(SubtaskExecutor.java:228)
at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.lambda$submit$3(SubtaskExecutor.java:154)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at com.oceanbase.ocp.common.trace.TraceDecorator.lambda$decorate$0(TraceDecorator.java:33)
at java.base/java.lang.Thread.run(Thread.java:840)

Set state for subtask: 9048939, operation:EXECUTE, state: FAILED

把任务日志下载发一下 ocp-server.log日志 也发一下看看

log_task_9038153.zip (48.4 KB)

看日志是刷新 Agent 配置时,这台主机上挂了 OB_PROXY 服务,OCP 按 hostId 去查 obproxy_server,记录不存在,任务失败。

常见原因:该主机以前装过 / 登记过 OBProxy,卸载不干净;或 host_service 脏数据。
登录 OCP 元数据库(一般是 ocp_meta),执行:
– 主机
SELECT id, inner_ip_address, status
FROM compute_host
WHERE id = 2000001;

– 该主机上登记的服务(重点看有没有 OB_PROXY)
SELECT id, host_id, name, type, version, create_time
FROM compute_host_service
WHERE host_id = 2000001;

– OBProxy 实例(失败就是这里查不到)
SELECT id, host_id, ip, sql_port, status, operate_status, obproxy_cluster_id
FROM obproxy_server
WHERE host_id = 2000001
OR ip = ‘192.168.2.184’;

再到 192.168.2.184 上看有没有真实 OBProxy 进程:

ps -ef | grep -i obproxy | grep -v grep

[root@v4-observer2 ~]# ps -ef | grep -i obproxy | grep -v grep
admin 56824 1 7 Aug14 ? 2-01:33:48 /home/admin/obproxy/bin/obproxy -p 2883 -n V425_standy1 -o server_tcp_keepcnt=2,client_tcp_keepcnt=2,client_sock_option_flag_out=3,server_tcp_keepintvl=5,client_tcp_keepidle=5,rpc_listen_port=2885,prometheus_sync_interval=1s,sock_option_flag_out=3,obproxy_config_server_url=http://192.168.2.183:8080/services?User_ID=alibaba&UID=test&Action=GetObProxyConfig&ObproxyClusterName=V425_standy1,ip_listen_mode=1,prometheus_listen_port=2884,client_tcp_keepintvl=5,enable_metadb_used=false,skip_proxy_sys_private_check=true,log_dir_size_threshold=10G,proxy_mem_limited=2G,enable_full_username=true,enable_proxy_scramble=true,enable_strict_kernel_release=false,server_tcp_keepidle=5
admin 56908 1 1 Aug14 ? 10:42:07 /bin/bash /home/admin/obproxy/bin/obproxyd.sh -c checkalive -p 2883 -r /home/admin/obproxy -n V425_standy1
[root@v4-observer2 ~]#

要删除 id 5000007 吗

这个是之前安装的么?还是新安装的
在查一下
SELECT id, name, sql_port, exporter_port, status, work_mode

FROM obproxy_cluster

WHERE name = ‘V425_standy1’;

SELECT id, host_id, ip, sql_port, status, operate_status, obproxy_cluster_id

FROM obproxy_server

WHERE host_id = 2000001

OR ip = ‘192.168.2.184’

OR sql_port = 2883;

425 是之前安装的,后面又删掉了,可能是没有删除干净。

要删除 5000007 | 2000001 这条记录吗

– 在 192.168.2.184 上停掉旧 Proxy
su - admin -c ‘cd /home/admin/obproxy && ./bin/obproxyd.sh stop’
ps -ef | grep -i obproxy | grep -v grep

进程没了再改元数据(只删 OB_PROXY,保留 OB_CLUSTER):

SELECT id, name, type FROM compute_host_service
WHERE host_id = 2000001;

DELETE FROM compute_host_service
WHERE host_id = 2000001 AND type = ‘OB_PROXY’ AND name = ‘V425_standy1’;

然后重试子任务 Refresh ocp agent config。