tidb 灾难测试

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:

【TiDB 版本】
tidb v4.0.10
pd v4.0.10
tikv v4.0.10
【问题描述】
在做高可用测试, tidb, pd ,tikv * 3 在三台机器上,都跑在docker 里面 ,
副本数为3
下线了其中一个tikv
就会导致 所有的操作都不可用,出现 9002 TiKV server timeout,
理论上不应该会有问题的, tikv 有重启了一次,是不是恢复的时候,有数据还没恢复好?


若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

理论上,一个 tikv server 宕机或者服务终止是不会影响整体集群的使用的,出现 9007 报错,建议检查下

1、检查下异常的 tikv leader 的迁移情况,看下其上的 leader 是否均 transfter 到其他存活的 tikv 上,可以使用 pd-ctl 来查看,命令参考:

https://docs.pingcap.com/zh/tidb/stable/pd-control#store-delete--label--weight--remove-tombstone--limit--limit-scene-store_id---jqquery-string

或通过 grafanatikv-details 监控面板确认:

2、当前环境中,tidb server 有几个?在保持一个 tikv 宕机或未提供服务的情况下,建议重启下 tidb server,排除 region cache 的影响~

还就是tidb 重启就好了, Region Cache 这个有办法控制么?强制刷新或者刷新时间?

目前没有提供 region cache 强制刷内存的机制,最好的办法还是重启一下 tidb server。但是因为 region cache 驻留数据是,TiDB 会有重试机制,不一定要重启。重试机制会选择最新的数据。

TIKV status 的地址我用了 0.0.0.0,
在pd 的中 component 存的kv 都是 127.0.0.1
导致 tidb 取的tikv 都是127.0.0.1 :rofl:

线上建议不要使用回环地址和 0.0.0.0 ,不符合运维要的要求。

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。