为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】
v4.0.10
【问题描述】
将集群的tikv的数据目录都删除后,tikv组件都down掉了,但是为什么数据库还可以插入数据?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【TiDB 版本】
v4.0.10
【问题描述】
将集群的tikv的数据目录都删除后,tikv组件都down掉了,但是为什么数据库还可以插入数据?
若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。
Down 状态是 PD 与 TiKV 之间的心跳连接断开超过 max-store-down-time 设置的时间,但是 TiKV 进程仍然是有可能运行的,比如 pd 与 tikv 之间有时区差异也有可能导致这个问题。可以通过 ps -ef 检查 tikv 进程,以及看下 tikv 和 pd 的log ,还有时区排查一下。
好的,谢谢,我看了一下,tikv进程还在
目前 3 副本的情况,3 个副本挂掉两个,只剩 1 个副本的话就不满足 raft 多数派原则了,对应的 region 会不可用。
哦,也就是说,我这里有3个数据中心6个tikv节点来存储3个副本,同时挂掉2个数据中心4个tikv节点时,region都丢失了2个副本,这个就不满足了raft多数派送原则,这样就导致了所有region不可用了,是吧!
那么我有一个想法:我有5个tikv节点,副本数3,此时挂掉3个tikv节点时,那么是不是存在一种情况:有的region有2个副本在剩下的两个好的tikv节点上,此时,这些region也是可以用的是吧!
我这里有3个数据中心6个tikv节点来存储3个副本,同时挂掉2个数据中心4个tikv节点时,region都丢失了2个副本,这个就不满足了raft多数派送原则,这样就导致了所有region不可用了
这个得看具体的 label 设置
那么我有一个想法:我有5个tikv节点,副本数3,此时挂掉3个tikv节点时,那么是不是存在一种情况:有的region有2个副本在剩下的两个好的tikv节点上
是的,存在部分 region 可能还有两个副本存活,这部分 region 是可以访问的。
ok,好的,谢谢啦,上述的3个数据中心的就是优先使用数据中心做区分,也就是说3副本会调度掉不同的数据中心
嗯嗯好的
对了,突然想到,大神,打扰一下,这个存在部分 region 可能还有两个副本存活,这个存活的region是随机的,是吧
是的,可能性都是存在的
ok,好的,谢谢,辛苦了
对了,如果我是4个tikv,4个副本的话,挂掉两个也应该不可用是吧,因为不满足raft多数派送原则了,是吧
嗯是的
ok,三克油啦
关于这个tikv集群的容量计算是这么算的嘛?
假如一个tikv有10G,我有10个tikv,就可以存100G数据量,但是我是3副本的,那我只能存100/3G数据量吧,
5副本的话,是只能存100/5=20G数据量吧
嗯是的
ok,