容器部署的ocp部署obproxy找不到built-in:obproxyd.sh

【 使用环境 】生产环境
【 OB or 其他组件 】OCP obproxy
【 使用版本 】obproxy-ce-4.3.5.0/ocp-agent-ce-4.3.6
【问题描述】文件 built-in:obproxyd.sh 不存在
【复现路径】
【附件及日志】
容器内找到了脚本/opt/taobao/install/obproxy-4.2.1.0/bin/obproxyd.sh,但是尝试cp到几个路径都是无法找到

下面是错误日志
025-09-16 10:16:54.222 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.ocp.service.iam.user.UserService : user 100 login with organization 10000000

2025-09-16 10:16:54.227 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.t.e.runner.JavaSubtaskRunner : Retry subtask, id=1099, context=Context{parallelIdx=2, stringMap={subtask_splitter=obproxy_server_ids, obproxy_run_path=/home/admin/obproxy, service_name=obproxy_zq, install_path=/home/admin/obproxy, task_instance_id=682, target_operate_status=NORMAL, task_operation=retry, obproxy_parameter_version=1, obproxy_cluster_id=2, obproxy_cluster_name=obproxy_zq, obproxy_proxyro_password=xxx former_obproxy_cluster_status=LOCK, obproxy_need_delete_cluster=true, ocpagent_service_name=proxy_agent, package_version=4.3.5.0-3, target_obproxy_status=RUNNING, operation_scope=Cluster, rpm_name=obproxy-ce-4.3.5.0-3.el7.aarch64.rpm, package_name=obproxy-ce, latest_execution_start_time=2025-09-16T10:16:54.211+08:00, sub_task_instance_name=Start obproxyd process, sub_task_instance_id=1099, target_obproxy_cluster_status=UNLOCK}, listMap={commands_to_check=[nc], obproxy_server_ids=[4, 5, 6], process_keywords=[obproxy, obproxyd.sh], host_ids=[12, 10, 11]}}, executor=10.233.116.21

2025-09-16 10:16:54.231 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.o.internal.task.StartObproxydTask : Need to stop obproxyd when rollback.

2025-09-16 10:16:54.244 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.agent.HostAgentServiceImpl : Finding OCP agent: hostId=11

2025-09-16 10:16:54.252 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.a.p.HostAgentProcessServiceImpl : Getting all OCP agent processes on host 11

2025-09-16 10:16:54.271 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.e.internal.template.HttpTemplate : POST request to agent, url:http://192.168.0.111:62888/api/v1/process/stop, request body:StopProcessRequest(process=FindProcessParam(findType=BY_KEYWORD, name=null, keyword=obproxyd.sh, pid=null), force=true), params:null

2025-09-16 10:16:54.283 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.agent.HostAgentServiceImpl : Finding OCP agent: hostId=11

2025-09-16 10:16:54.288 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.a.p.HostAgentProcessServiceImpl : Getting all OCP agent processes on host 11

2025-09-16 10:16:54.305 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.e.internal.template.HttpTemplate : POST request to agent, url:http://192.168.0.111:62888/api/v1/process/exists, request body:CheckProcessExistsRequest(name=obproxyd.sh), params:null

2025-09-16 10:16:54.318 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.o.internal.task.StartObproxydTask : Stop obproxyd success.

2025-09-16 10:16:54.326 INFO 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.o.internal.task.StartObproxydTask : Starting obproxyd.

2025-09-16 10:16:54.335 ERROR 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.ocp.core.util.ExceptionUtils : Checked Exception: com.oceanbase.ocp.core.exception.NotFoundException occurred with code error.file.meta.not.found, and args [built-in, obproxyd.sh]

2025-09-16 10:16:54.342 ERROR 9 — [manual-subtask-executor9,25a1177f5561e8f7,ef494d4412103d69] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor : The built-in:obproxyd.sh file does not exist.

com.oceanbase.ocp.core.exception.NotFoundException: [OCP NotFoundException]: status=404 NOT_FOUND, errorCode=FILE_META_NOT_FOUND, args=built-in,obproxyd.sh
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)
at com.oceanbase.ocp.core.util.ExceptionUtils.newException(ExceptionUtils.java:96)
at com.oceanbase.ocp.core.util.ExceptionUtils.throwException(ExceptionUtils.java:90)
at com.oceanbase.ocp.core.util.ExceptionUtils.notFound(ExceptionUtils.java:41)
at com.oceanbase.ocp.storage.softwarepackage.builtin.BuiltInFileServiceImpl.getBuiltInFileDownloadUrl(BuiltInFileServiceImpl.java:147)
at com.oceanbase.ocp.storage.softwarepackage.builtin.BuiltInFileServiceImpl.getBuiltInFileDownloadUrlInHost(BuiltInFileServiceImpl.java:132)
at com.oceanbase.ocp.compute.host.service.HostOperationServiceImpl.buildDownloadBuiltInFileRequest(HostOperationServiceImpl.java:193)
at com.oceanbase.ocp.compute.host.service.HostOperationServiceImpl.downloadBuiltInFile(HostOperationServiceImpl.java:166)
at com.oceanbase.ocp.obproxyops.internal.ObproxyOperationManagerImpl.startObproxyd(ObproxyOperationManagerImpl.java:154)
at com.oceanbase.ocp.obproxyops.internal.task.StartObproxydTask.run(StartObproxydTask.java:59)
at com.oceanbase.ocp.core.task.runtime.Subtask.retry(Subtask.java:49)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.retry(JavaSubtaskRunner.java:76)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.doRun(JavaSubtaskRunner.java:35)
at com.oceanbase.ocp.core.task.engine.runner.JavaSubtaskRunner.run(JavaSubtaskRunner.java:2
6)
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:212)
at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.redirectConsoleOutput(SubtaskExecutor.java:206)
at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.lambda$submit$2(SubtaskExecutor.java:137)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)

Set state for subtask: 1099, operation:RETRY, state: FAILED

包含这个报错时间的完整ocp-server.log也麻烦发下

打卡 学习

ocp-server.log (5.5 MB)

14:03分左右试了一次

2025-09-16 14:03:12.223  INFO 9 --- [task-coordinator1,,] c.o.o.c.t.e.c.worker.RunningTaskWorker   : Mark failed task, entity=TaskInstanceEntity{id=827, name='Create obproxy cluster', taskDefinitionId=-1, state=RUNNING, type=MANUAL, clusterId=null, tenantId=null, hostId=null, creator='admin', executor='10.233.116.22', argument=Argument{parallelIdx=-1, stringMap={prohibit_rollback=false, obproxy_run_path=/home/admin/obproxy, service_name=obproxy_zq, install_path=/home/admin/obproxy, obproxy_parameter_version=1, obproxy_cluster_id=4, obproxy_cluster_name=obproxy_zq, obproxy_proxyro_password=xxx former_obproxy_cluster_status=LOCK, obproxy_need_delete_cluster=true, ocpagent_service_name=proxy_agent, package_version=4.3.5.0-3, operation_scope=Cluster, rpm_name=obproxy-ce-4.3.5.0-3.el7.aarch64.rpm, package_name=obproxy-ce, target_obproxy_cluster_status=UNLOCK}, listMap={commands_to_check=[nc], obproxy_server_ids=[10, 11, 12], process_keywords=[obproxy, obproxyd.sh], host_ids=[10, 12, 11]}}, createTime=2025-09-16T14:02:33+08:00, startTime=2025-09-16T14:02:33.801+08:00, endTime=null, subtasks=[SubtaskInstanceEntity{id=1358, name=Sync obproxy parameter, state=PENDING, operation=EXECUTE, className=com.oceanbase.ocp.obproxyops.internal.task.SyncObproxyParameterTask, seriesId=55, startTime=null, endTime=null}, SubtaskInstanceEntity{id=1379, name=Update obproxy status, state=PENDING, operation=EXECUTE, className=com.oceanbase.ocp.obproxyops.internal.task.UpdateObproxyStatusTask, seriesId=22, startTime=null, endTime=null}, SubtaskInstanceEntity{id=1403, name=Assign proxy_id to obproxy, state=PENDING, operation=EXECUTE, className=com.oceanbase.ocp.obproxyops.internal.task.AssignObproxyIdTask, seriesId=43, startTime=null, endTime=null}, SubtaskInstanceEntity{id=1366, name=Start obproxy process, state=SUCCESSFUL, operation=EXECUTE, className=com.oceanbase.ocp.obproxyops.internal.task.StartObproxyTask, seriesId=8, startTime=2025-09-16T14:02:57.839+08:00, endTime=2025-09-16T14:03:08.041+08:00}, SubtaskInstanceEntity{id=1370, name=Wait obproxy accessible, state=SUCCESSFUL, operation=EXECUTE, className=com.oceanbase.ocp.obproxyops.i
2025-09-16 14:03:12.230  WARN 9 --- [task-coordinator1,,] c.o.o.c.t.e.c.worker.RunningTaskWorker   : Execute hook failed, ex:

java.lang.NumberFormatException: null
	at java.lang.Long.parseLong(Long.java:552)
	at java.lang.Long.parseLong(Long.java:631)
	at com.oceanbase.ocp.core.task.common.Context.getLong(Context.java:200)
	at com.oceanbase.ocp.service.operation.OperationAlarmService.infoAfterTaskTerminate(OperationAlarmService.java:187)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.RunningTaskWorker.lambda$executePostTaskHooks$5(RunningTaskWorker.java:161)
	at java.util.ArrayList.forEach(ArrayList.java:1259)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.RunningTaskWorker.executePostTaskHooks(RunningTaskWorker.java:159)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.RunningTaskWorker.lockAndScheduleRunningTask(RunningTaskWorker.java:113)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.RunningTaskWorker.work(RunningTaskWorker.java:79)
	at com.oceanbase.ocp.core.task.engine.coordinator.TaskCoordinator.nonExceptionRun(TaskCoordinator.java:118)
	at com.oceanbase.ocp.core.task.engine.coordinator.TaskCoordinator.lambda$initRunningTaskWorkers$3(TaskCoordinator.java:105)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
	at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:750)

2025-09-16 14:03:12.231  INFO 9 --- [task-coordinator1,,] c.o.ocp.service.audit.AuditEventService  : begin update audit event, taskId:827, status:FAILED
2025-09-16 14:03:12.642  INFO 9 --- [pool-11-thread-1,,] c.o.o.s.i.r.s.RateLimitFacadeServiceImpl : 10.233.116.22:8080 refreshes policies...

登录OCP meta数据库查下

select * from meta_database.config_properties where `key`='ocp.file.local.built-in.dir';

你这个环境看起来是获取不到部署用户admin的home目录,进入容器里面看看能否获取到呢

我现在有点没理解了,他是获取我部署ocpd的容器的路径呢,还是我要部署obproxy服务器的路径呢,如果是后者,那这个路径是没有的


容器里这个路径是存在的,脚本我刚刚穿进去还是不成功,是要改一下value么

先不要改,我咨询这块的老师看看

看下这里目录

ls  /home/admin/data/files 

你容器是以root运行的吧,你看看root的home目录,

cd root的 home目录/data/files && ls

root下面啥都没有,我在ocp上传的软件包就在上图的sys-package里

容器内root用户home目录是什么?
有这个目录吗?

没有,/root下面没东西
image

再查下这个

select * from meta_database.config_properties where `key` like '%ocp.file.local.dir%'\G;

你将 obproxyd.sh 放到这里 重试下任务