【TiDB 使用环境】生产环境
【TiDB 版本】8.1.0
【操作系统】Centos7.9
【部署方式】内网私有化部署
集群的时钟策略在最初时设置的与物理机同步,与NTP同步冲突,会产生比较明显的时钟漂移(正负 1 - 3S)。
但是现在业务已经开展,无法接受停机重启,修改虚拟机时钟策略需要下电后重启才能修改。想问一下有没有什么方法可以修改时钟策略但是保持业务不中断?
需要注明的是所有表使用自增主键。
【TiDB 使用环境】生产环境
【TiDB 版本】8.1.0
【操作系统】Centos7.9
【部署方式】内网私有化部署
集群的时钟策略在最初时设置的与物理机同步,与NTP同步冲突,会产生比较明显的时钟漂移(正负 1 - 3S)。
但是现在业务已经开展,无法接受停机重启,修改虚拟机时钟策略需要下电后重启才能修改。想问一下有没有什么方法可以修改时钟策略但是保持业务不中断?
需要注明的是所有表使用自增主键。
缩容-重启-扩容?不过需要额外准备一台,因为tikv不能少于3台。
1、扩容正确时间的服务器 ,再缩容错误时间的服务器。
2、也可以轮流重启tidb集群中的一台。。不要超过50%
仅供参考
就在业务低峰期滚动重启集群就好了,业务通过负载均衡连接到数据库,滚动重启时会有部分连接断开,业务重试就好了
如果用了 haproxy 的话会更丝滑
就一个一个虚拟机轮流重启,一个启动完成状态正常了再其他另外一个,没啥需要的操作
大佬请教一下,这个问题急迫吗?时钟漂移能够造成什么影响?
网上搜说节点之间相差一秒以上就属于非常严重的问题,是这样的吗?
不紧迫,差 3 秒很少的
核心思路是利用组件的多副本冗余和无状态特性,确保单个节点重启期间,其他节点能继续提供服务。
如果你的业务程序闪断都不接受,那就无解,你峰期逐个节点重启,业务基本是无感的,我们升级生产环境就是这么升级的,升级中间还中断过
滚动的情况下,PD\KV不会导致连接中断,只有TIDB会有闪断
不修改拓扑文件,reload 集群不就可以。
同问,未来也有可能要做类似的变更
时钟这块应该影响不大,记得文档里有说pd分配TSO的时候是单调递增的,即时时间短暂回调影响也不大
业务低峰期间,一个一个滚动重启就可以了
看你配置就三台节点,你需要先增加一台节点,然后轮启其他的节点,没有别的办法。