TiKV max timestamp is not synced

TiKV max timestamp is not synced
一台机部署了1个tidb+pd+1tikv,但是副本数设置为了3,这个报错是不是副本数设置不合理导致的

1 个赞

应该是节点间时钟不同步,先检查NTP,同步时间后再看看。

1 个赞
  • PD 与 TiKV 通信中断 / 心跳丢失
  • TiKV PD 心跳断连、Worker 线程死锁、网络不通。
  • 表现:PD 显示 TiKV 异常、心跳指标为 0、日志反复重连 PD。
  • PD 自身异常
  • PD OOM、Leader 选举失败、TSO 分配阻塞、etcd 延迟过高。
  • 系统时间 / NTP 异常
  • 节点时钟漂移、NTP 不同步、时间回退 → TSO 混乱。
  • TiKV 线程 / 并发管理器阻塞
  • 线程死锁、GC 卡顿、Raft 同步延迟 → max_ts 无法更新。
  • 跨集群误请求 /max_ts 被异常拉高
  • 错误集群 ID、外部请求写入超大 TS → 超出 PD 可分配范围。
    大概率是服务器时间不对
1 个赞

所有节点就在1台服务器上,哎

是因为:单节点 TiKV 集群,但 Raft 副本数设置为 3 导致的!

直接原因:单节点无法满足 3 副本同步,timestamp 无法提交 → PD 不能同步最大 TS → TiDB 无法正常提供服务。

– 将副本数设置为 1
SET CONFIG PD replication.max-replicas = 1;

– 查看配置是否生效
SHOW CONFIG WHERE NAME LIKE ‘%max-replicas%’;

这种单节点、单副本的配置仅适用于开发或测试环境 ,因为它完全不具备高可用性。一旦这个唯一的 TiKV 节点宕机,整个集群就会停止服务。在生产环境中,强烈建议至少部署 3 个 TiKV 节点,并使用默认的 3 副本配置,以保证集群能够容忍单个节点故障

你这个答案是ai 生成的还是自己 研究出来的

1 个赞

看看NTP服务

2 个赞

将 max-replicas 设置为 1。 试下

确实有这个可能

SET GLOBAL replica_max_replicas = 1;
SET GLOBAL raft_store_max_peer_number = 1;

1 个赞

时戳不同步,可以看看系统时区和时钟服务是不是同步

1 个赞

是啊,时间不同步会有问题

都在一台机器上部署,和时间不同步没有什么关系

修改副本数为1后正常了吗

可能是副本数不合理导致的

嗯, 当出现节点时钟漂移NTP 不同步 时,不同服务器之间的时间会产生差异。更严重的情况是时间回退 ,即服务器的系统时间向后跳跃

但是这不是只有一台机器吗