【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.0
【遇到的问题】
请教一下,TIKV集群如果是6个节点,挂2个tikv是不是集群不可用了?再衍生下,如果9个TIKV节点挂至少2个TIKV是不是也不可用啊?tikv是不是一次至多只能挂掉1个节点?
tidb默认3副本,因为多数一致原因,要求最多坏一个副本,具体能坏几个tikv还和部署有关.
比如
6tikv 6主机:3副本下只能坏1个tikv或主机 而不影响使用
6tikv 3主机,每主机2个: 一般这种部署时都会为tikv设置lable标识他们在相同主机,这样就不会有相同region的副本在同一主机上,一个主机坏了 2个tikv故障不影响可用
挂几个kv 集群可用取决于 你的 副本设置,而非 节点数
如上: 1 2 3 4 5 6 代表6个物理服务器节点
里面不同颜色代表一个raft group组,分别为 a b c d (L 表示leader ,f 表示 follower, aL 就是 a组的 leader, f1 f2 分别为 其他2个 副本)
节点down 举例:
down 2个节点
如果 1 2 down 了 , a 副本就无发保证一直性和多数派选举
如果 3 4 down 了 , 就不会发生该问题
也因为多数派一直和选举 , 一般副本数据都为奇数
图画的不太好, 但就是那个意思 ,望理解
这种要看具体的部署架构,“如果9个TIKV节点挂至少2个TIKV是不是也不可用啊?” 你是要设置9个副本?
默认副本数不是三个吗?region不是按tikv节点数来自动分布的吗,如果一个region里面正好有2个副本在挂掉的2个节点上,集群不就挂了吗?
我现在是6个tikv主机,每个主机1个tikv节点。
这个要看你的副本数如何配置了,默认是3副本和机器数没关系,6.0以后的,可以针对重点region多配置几个副本
region 是自动分部的 , 如果你的节点数大于 副本数 , 那么 一个raft group 组中的 region 就不会放在同一节点是上的
当然,以上我说的 是不包括 使用lab 特殊配置的情况
按照你的案例 6个物理节点, 默认3副本, 不可能1region的2个副本放在同一节点, 如果这样的话 就无法做到多数派一致和选举了
我的理解就是,如果有一些region正好落在了故障的2个主机节点上,那集群就会出问题了。而这种region属于随机分布,也就是如果一个集群里面有2个节点出故障,就大概率集群不可用了。
是的,
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。