【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【遇到的问题】
【复现路径】默认三副本,且只有三个tikv实例,宕掉一个tikv实例,这时集群还正常吗?
【问题现象及影响】
【附件】
请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。
【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【遇到的问题】
【复现路径】默认三副本,且只有三个tikv实例,宕掉一个tikv实例,这时集群还正常吗?
【问题现象及影响】
【附件】
请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。
不正常了,必须马上补充 tikv 的节点,恢复到 三实例的状态,等待 region 补充和调度完成之后,状态会恢复。
一般生产环境会用 5节点,5副本的部署模式
那5副本,一个tikv实例挂了,整个集群也不能用了?
那肯定不会啊,5副本能够容忍2个副本故障
tikv三副本,三台tikv机器,宕掉一台,此时只有2副本了,集群是可以正常工作的,但是再宕机一台就无法正常提供服务了。所以需要补充一个kv节点。
三角形最稳定
宕机的leader切换重新平衡剩下的2台机上,集群可以正常工作
就是说多数KV节点存活,集群仍然可以正常使用
不一定,这里说的是三节点的,如果是更多节点3副本的集群宕机2台KV也可能导致异常。
正常情况下,三副本三台tikv实例,宕掉一个tikv实例,集群是正常的。
多数派原则,大于二分之一存活就可以提供服务。
挂掉一台,那么tikv可以正常读,但是写入会异常
有谁是生产经验的吗?怎么说的都不一样?
3副本最多允许挂1个tikv,5副本最多允许挂2个tikv,更严格的说是允许region挂1个或2个副本,当region所在的tikv挂的数量超一半就不能提供服务
3个实例宕掉一个,还是可以正常工作的。
可以正常工作,region存活多数仍可以工作,只是在故障发生时QPS、TPS会受短暂影响,另外至少存活一份region则可以恢复出数据来。
那么TiDB数据库设计时region至少要求3副本吗?
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。