【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】6.1.2
【复现路径】做过哪些操作出现的问题 :重启tikv节点
【遇到的问题:问题现象及影响】tikv服务一直报警:call CheckLeader failed
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
这种情况可能是由于 TiKV 节点重启后,该节点的数据与其他节点不一致导致的。可以尝试以下步骤进行排查:
- 首先,可以通过
pd-ctl
工具查看该节点的状态,命令如下:
pd-ctl -u http://{pd_ip}:{pd_port} store
其中,{pd_ip}
和 {pd_port}
分别为 PD 的 IP 地址和端口号。如果该节点的状态为 Tombstone
,则说明该节点已经被删除,需要重新添加该节点。
- 如果该节点的状态为
Up
,则可以尝试使用tikv-ctl
工具检查该节点的数据是否与其他节点一致,命令如下:
tikv-ctl --host {tikv_ip}:{tikv_port} --db {db_path} --check-compact
其中,{tikv_ip}
和 {tikv_port}
分别为 TiKV 节点的 IP 地址和端口号,{db_path}
为 TiKV 节点的数据存储路径。如果该节点的数据与其他节点不一致,则可以尝试使用 tikv-ctl
工具修复数据,命令如下:
tikv-ctl --host {tikv_ip}:{tikv_port} --db {db_path} --compact {start_key} {end_key}
其中,{start_key}
和 {end_key}
分别为需要修复的数据范围的起始和结束 key 值。
- 如果以上步骤都无法解决问题,可以尝试重启整个 TiDB 集群
配置有点低,cpu性能不太够
同配置的再加一台,往这台上扩容1pd1tidb ,再把原来和tikv部署在一起的3pd3tidb缩容掉。
机器性能不够tikv最好单独部署,特别是不建议tikv和pd放在一起。