tikv 同时挂掉6台,服务不能正常访问,SQL 超时?

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:V3.0.15
  • 【问题描述】:有6台物理机,每台上面有三个tikv 实例,一共18个tikv ,配置了tikv 标签和location_labels = [“host”],在同时关闭节点1上面三天tikv 和2号节点上面3个tikv 之后,查询就异常,一直超时?想问下,正常情况应该数据会分布在不同host 上面,应该不影响的?

安装时的配置如下:

[tikv_servers]
TiKV1-1 ansible_host=ip1 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv1”
TiKV1-2 ansible_host=ip1 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv1”
TiKV1-3 ansible_host=ip1 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv1”

TiKV2-4 ansible_host=ip2 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv2”
TiKV2-5 ansible_host=ip2 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv2”
TiKV2-6 ansible_host=ip2 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv2”

TiKV3-7 ansible_host=ip3 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv3”
TiKV3-8 ansible_host=ip3 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv3”
TiKV3-9 ansible_host=ip3 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv3”

TiKV4-10 ansible_host=ip4 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv4”
TiKV4-11 ansible_host=ip4 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv4”
TiKV4-12 ansible_host=ip4 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv4”

TiKV5-13 ansible_host=ip5 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv5”
TiKV5-14 ansible_host=ip5 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv5”
TiKV5-15 ansible_host=ip5 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv5”

TiKV6-16 ansible_host=ip6 deploy_dir=/opt/tikv1 tikv_port=20171 labels=“host=tikv6”
TiKV6-17 ansible_host=ip6 deploy_dir=/opt/tikv2 tikv_port=20172 labels=“host=tikv6”
TiKV6-18 ansible_host=ip6 deploy_dir=/opt/tikv3 tikv_port=20173 labels=“host=tikv6”

[pd_servers:vars]

location_labels = [“zone”,“rack”,“host”]

location_labels = [“host”]

在我这种情况下,最多可以同时坏掉几台服务器?(每台上面3个tikv)

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

最多坏 2 台, raft 协议就是需要多数副本保障写入成功,你是3副本,如有集群中有2个实例出问题,就会导致如果有region的2个副本都恰好在坏掉的机器,就会有问题。 打标签,是防止,多实例部署中出现坏一个机器,两个副本都在坏掉的机器上的情况。

如果我一台物理机部署1个实例,共18台机器,3副本的逻辑,这样的话,最多是不是可以坏掉14台?

不是,还是坏掉2台就会有问题。 3副本,所以一个region的3个副本肯定是在3个主机上。 如果2个坏了,有2个副本在这两个主机上的region就会有问题。

了解了,还有个小问题,现在监控tikv 状态的,不行了
curl -g ‘http://ip:9090/api/v1/query?query=pd_cluster_status{type=“store_down_count”}’ 我手工下线一台tikv 还是现实为0

监控问题麻烦开新帖解决,多谢。