OCP 添加主机失败 clockdiff failed

【 使用环境 】生产环境
【 OB or 其他组件 】OCP
【 使用版本 】4.3.3-20241219140415 社区版
【问题描述】OCP 添加主机提示 clockdiff failed
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

主机放在IDC 中心托管,SSH 端口做了端口映射在公网 IP 的端口上;OCP 跟该主机不在同一个机房, 在OCP 上通过公网 IP 添加该主机时,在 Pre check for create host 步骤提示 clockdiff failed
请问这种情况下应该如何处理
相关日志如下:

2025-01-03 11:07:41.843  INFO 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.o.executor.internal.util.PingUtils   : Rtt by ssh, rawList=[230]

2025-01-03 11:07:41.849  INFO 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.o.s.t.b.host.PreCreateHostCheckTask  : Check ssh ping delay, delayMillis=230, maxAcceptableDelayMillis=3000

2025-01-03 11:07:41.853  INFO 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.ocp.core.util.LocalCommandExecutor   : Execute local command, executable=clockdiff, args=[47.xxx.xx.107], timeoutMillis=20000

2025-01-03 11:07:52.897  WARN 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.ocp.core.task.util.ClockDiff         : Clock-diff failed. args=[47.xxx.xx.107], exception={}. Please try other ocp.host.check.clock-diff.mode in System Parameters

org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
	at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
	at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
	at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
	at com.oceanbase.ocp.core.util.LocalCommandExecutor.exec(LocalCommandExecutor.java:50)
	at com.oceanbase.ocp.core.task.util.ClockDiff.execute(ClockDiff.java:95)
	at com.oceanbase.ocp.core.task.util.ClockDiff.diffWithIcmpTimestamp(ClockDiff.java:52)
	at com.oceanbase.ocp.core.task.util.ClockDiff$ClockDiffMode.doRun(ClockDiff.java:172)
	at com.oceanbase.ocp.service.task.business.host.PreCreateHostCheckTask.checkIsRemoteClockDiffAcceptable(PreCreateHostCheckTask.java:107)
	at com.oceanbase.ocp.service.task.business.host.PreCreateHostCheckTask.run(PreCreateHostCheckTask.java:68)
	at com.oceanbase.ocp.service.task.business.host.PreCreateHostCheckTask.retry(PreCreateHostCheckTask.java:75)
	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: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:206)
	at com.oceanbase.ocp.core.task.engine.coordinator.worker.subtask.SubtaskExecutor.redirectConsoleOutput(SubtaskExecutor.java:200)
	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:748)


2025-01-03 11:07:52.910 ERROR 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.ocp.core.util.ExceptionUtils         : Checked Exception: com.oceanbase.ocp.core.exception.UnexpectedException occurred with code error.common.unexpected, and args [Execute clock diff failed., 47.xxx.xx.107]

2025-01-03 11:07:52.918 ERROR 33867 --- [manual-subtask-executor2,8d9648d3a800ac20,7e3d826801271e91] c.o.o.c.t.e.c.w.subtask.SubtaskExecutor  : An unknown error has occurred. Cause: Execute clock diff failed.. Error message: 47.xxx.xx.107. Contact the administrator.

用commond -v clockdiff查看命令是否在/usr/bin/下

如果没有可以之间直接cp一个

我刚刚将clockdiff 从 /usr/sbin/ 拷贝了一份到 /usr/bin/, 但是结果是一样的;我觉得可能跟公网端口映射有关系; 我在该主机终端执行 clockdiff 提示如下信息

[oceanbase@localhost ~]$ clockdiff 47.xx.xx.107
47.xx.xx.107 is down
[oceanbase@localhost ~]$ clockdiff localhost
.
host=localhost rtt=750(187)ms/0ms delta=0ms/0ms Fri Jan  3 16:13:28 2025

如果时间没有差异这一步可以从ocp跳过去

请问辞霜老师,两台主机映射到同一个公网IP 不同端口, 可以添加到OCP吗

应该加不了,即便是加了后续运维影响判断容易误操作

好的,感谢 辞霜老师