failover

tidb cluster
1 pd,tidb,tikv节点最多允许几个节点宕机,或者说至少存活的节点是多少?
2 tikv节点宕机后后端的数据RocksDB存储节点内的数据、pd内的数据是如何再平衡的?数据平衡期间会造成集群短时间不可用么?
3 多个tidb之间的负载如何平衡,TIDB本身有提供负载均衡的软件么?

1 个赞
  1. pd\tikv 生产配置要求最少3副本,半数以上正常无影响。tidb 无状态挂多少都不影响
  2. pd负责数据调度,本身也存一些元数据,tikv宕机后会自动在其他节点补副本。期间肯定会对网络 IO 造成影响
  3. tidb本身不提供,需使用haproxy lvs F5之类的负载均衡
1 个赞

谢谢

期间肯定会对网络 IO 造成影响-- 也就是说数据的平衡并不对影响新发起的连接的数据读写对么
tikv宕机后会自动在其他节点补副本–当宕机的节点再次回归时旧的数据文件会被清空吗?还是会检查数据的可用性?

1 个赞

hi 有什么更新么 :slightly_smiling_face:

  1. 可以认为基本不会影响,leader 会 transfer 到其他节点
  2. 参数会控制什么时候补充副本。
  3. 假设 3 副本,如果你只有 3 个 tikv,down 了一个,那就没有地方补副本了。需要有足够多的 tikv 和可用空间的情况下。

谢谢您的回答 关于另一个问题

宕机之后的tikv节点重新回到集群时(超过心跳判断后),原来的节点的数据文件会被清空之后重新参与平衡还是会有某个进程检查这些数据文件是否可用如果没有变化就仍然保留,新的数据重新参与平衡呢?

因为某一个tikv宕机期间可能会有新的数据进入,但是宕机的节点的本地数据又无法更新,所以想了解一下,当恢复之后这写本地数据是如何处理的

1 个赞

非常感谢

TiKV的三副本指的是region三副本,不是节点3副本,所以不是节点数越多,允许宕机的节点数量就越多。
就算有1000个节点,3副本的时候,如果出现2个节点宕机也可能造成整个集群不可用。

嗯,这个说法没问题,感谢补充。我只是补充回答了 3 楼的问题,2 楼已经说了副本半数以上正常无影响。
另外,并不是整个集群不可用,有 region 的 2 个副本恰好在 down 掉的 2 个节点会不可用。所以,节点越多,受到的影响可能越小。

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