OCP扩容OBServer节点,OBShell启动失败

【 使用环境 】生产环境
【 OB or 其他组件 】OCP OBServer OBShell
【 使用版本 】OCP V4.3.4 OBServer V4.3.4
【问题描述】原有OBD部署集群,直接OCP白屏接管,OCP新增一台ob节点失败。

报错日志

2025-03-06 13:36:34.371  INFO 11212 --- [manual-subtask-executor14,053bb04d422a3ed0,0ccb585ff1eda6ee] c.o.o.c.a.p.HostAgentProcessServiceImpl  : Getting all OCP agent processes on host 5


2025-03-06 13:36:34.404  INFO 11212 --- [manual-subtask-executor14,053bb04d422a3ed0,0ccb585ff1eda6ee] c.o.o.e.internal.template.HttpTemplate   : POST request to agent, url:
http://x.x.x.55:62888/api/v1/process/info
, request body:GetProcessInfoRequest(processName=obshell, skipPorts=false), params:null


2025-03-06 13:36:34.421  WARN 11212 --- [manual-subtask-executor14,053bb04d422a3ed0,0ccb585ff1eda6ee] c.o.o.c.h.s.HostOperationServiceImpl     : Process name: obshell is not found in host 5


2025-03-06 13:36:34.434 ERROR 11212 --- [manual-subtask-executor14,053bb04d422a3ed0,0ccb585ff1eda6ee] c.o.ocp.core.util.ExceptionUtils         : Checked Exception: com.oceanbase.ocp.core.exception.UnexpectedException occurred with code error.ob.server.obshell.process.start.failed, and args [9]


2025-03-06 13:36:34.441 ERROR 11212 --- [manual-subtask-executor14,053bb04d422a3ed0,0ccb585ff1eda6ee] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor  : Failed to start obshell process, serverId:9.


com.oceanbase.ocp.core.exception.UnexpectedException: [OCP UnexpectedException]: status=500 INTERNAL_SERVER_ERROR, errorCode=OB_SERVER_OBSHELL_PROCESS_START_FAILED, args=9

	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

新增节点的obshell二进制文件

[root@observer-55 ~]# ll /oceanbase/obtest/oceanbase/bin/obshell
-rwxr-xr-x 1 root root 32085192 Nov  7 17:12 /oceanbase/obtest/oceanbase/bin/obshell

已运行ob节点的obshell二进制文件

[root@observer54 ~]# ll /oceanbase/obtest/oceanbase/bin/obshell
lrwxrwxrwx 1 root root 97 Dec  6 11:39 /oceanbase/obtest/oceanbase/bin/obshell -> /root/.obd/repository/oceanbase-ce/4.3.4.0/5d59e837a0ecff1a6baa20f72747c343ac7c8dce/bin/./obshell
[root@observer54 ~]#  ll /root/.obd/repository/oceanbase-ce/4.3.4.0/5d59e837a0ecff1a6baa20f72747c343ac7c8dce/bin/./obshell
-rwxr-xr-x 1 root root 32085192 Dec  6 11:38 /root/.obd/repository/oceanbase-ce/4.3.4.0/5d59e837a0ecff1a6baa20f72747c343ac7c8dce/bin/./obshell
1 个赞

麻烦发下obshell.log
/home/admin/oceanbase/log_obshell

ocp-server.log
/home/admin/logs

OCP-OBShell-log.zip (5.3 MB)

已联系这块的研发老师分析了,有进展会尽快回复你

通过你上传的日志发现,你添加的ob节点应该是10.1.1.55,麻烦发下这台机器上的 obshell 和 ocp-agent 的日志。

55这个机器,上周我用OBD进行过扩容,但是也是因为obshell版本不适配无法启动,导致扩容后也不正常,后来就缩容掉了,并且杀进程,删目录清理干净。

ALTER SYSTEM DELETE SERVER xxxx

今天用OCP接管了这个集群,尝试在55这个节点扩容

目前找不到obshell.log

[root@observer-55 bin]# find / -name "obshell.log"

monagent.zip (2.9 MB)

非常抱歉,如果是在扩容的时候提示 obshell 版本不一致导致的问题的话,麻烦连接ob,查询一下所有 obshell 相关的信息(select * from ocs.all_agent)。
另外,您上传的这个是 monitor 相关的日志,麻烦上传一下 mgragent 的日志。

另外,如果可以的话,obd 扩容时报错相关的日志也可以发一下。在 obd 安装目录下的 .obd/log 下。

OBD已经是过去式了,我现在是OCP接管集群,再新扩容节点(55)

2025-03-06T12:06:20.12214+08:00  error: sh: -c: line 0: syntax error near unexpected token `('
sh: -c: line 0: `export OB_ROOT_PASSWORD=xxxxxx;/oceanbase/obtest/oceanbase/bin/obshell admin start'

mgragent.zip (858.9 KB)

是不是 sys租户的root密码 root@sys ?

这个密码现在是不是不能轻易改?

帮你们抓到虫了,记得给我加个百八十分

1 个赞

ocp 应该是有提供修改 root@sys 的密码的地方,如果您是非生产环境的话,可以随意修改。
但是你现在应该是卡在 start obshell process 这个任务上,到省一下,我确认一下再给你提供一个解决办法。

嗯 你们先想个不改密码的解决方案

非常感谢您的反馈 :kissing_heart:

解决办法:

  1. 在 10.1.1.55 这台机器下执行
    export OB_ROOT_PASSWORD=‘你的密码’;/oceanbase/obtest/oceanbase/bin/obshell admin start --ip 10.1.1.55 --port 2886
  2. ocp 上跳过 Start obshell process 这个任务。

不行,这个左括号它没法转义。

-bash: syntax error near unexpected token `('

那用双引号包裹试试呢?

双引号过了,但是跟之前OBD扩容一样,报agent版本不匹配

[FAILED] take over or rebuild failed: get cluster agent version failed: take over a higher version agent(4.2.4.2-12024102115) into cluster agent(4.2.3.0-102024031414) is not allowed
obshell server exited with code 22, please check obshell.log for more details

你扩容使用的 oceanbase 的 rpm 包的版本和你部署的是不是不一致呢?

扩容过程又不需要指定版本,因为扩容只能按着当前版本来(V4.3.4)

上述报错的cluster agent到底指的是哪个?

你看我的OCP软件包管理里面,哪有报错中提到的什么 4.2.4.2和4.2.3.0