时钟源配置同步成功仍报时间不同步

【使用环境 】 命令行部署 OceanBase 数据库生产环境
【问题描述】obd start 数据库集群时报错:[ERROR] OBD-2008: Cluster clocks are out of sync, Please enable clock synchronization service;
我时钟源确实配置同步了,也校验过三台服务器的时间差在几毫秒内,为啥仍然报这个错?
image

1 个赞

看上去像是没有在systemctl 中把时间同步设置为启动项

1 个赞

选择一个OB节点作为执行节点 clockdiff ,分别带入OB集群各个主机,看下时间同步延迟看看。

1 个赞

执行下
clockdiff 172.28.104.165
clockdiff 172.28.104.173
clockdiff 172.28.104.168

1 个赞

image

大佬,165机器是ob节点也是作为ntp服务端

1 个赞

image

1 个赞

这个时差还是有点大的。obd内部判断是小于500ms
换个时钟源或者
修改obd的文件
vim /usr/obd/plugins/oceanbase-ce/x.x.x.x/start_check.py和
vim ~/.obd/plugins/oceanbase-ce/x.x.x.x/start_check.py
中的 if times and max(times) - min(times) > 500 修改为 1500 (注意这里的阈值示例 1500 单位是毫秒,需要满足小于2秒 且 大于当前的时钟偏差的值)。

你使用的ntp同步还是 chrony ? 可以参考这个案例试试, 使用obd命令起动ob集群报错:[ERROR] Cluster NTP is out of sync - 社区问答- OceanBase社区-分布式数据库

1 个赞

obd执行命令应该有trace,可以看下trace的内容。 另外有办法绕过去(可能影响集群功能)
如何绕过 obd 对于时钟偏差的限制-OceanBase数据库使用指南

好的,谢谢大佬

1 个赞

学习,需要配置时钟源 chrony或者NTP