PD或TiKV故障处理

【TiDB 使用环境】测试环境
【TiDB 版本】
【部署方式】机器部署
【操作系统/CPU 架构/芯片详情】
【机器部署详情】
【集群数据量】
【集群节点数】3个节点,每个节点部署1个PD和1个TiKV
【问题复现路径】
【遇到的问题:问题现象及影响】
3个节点,如果其中1个或2个节点关机(正常关机,不考虑异常断电造成数据损坏的情况), 重新开机后,集群能自动恢复正常吗?需要手动干预吗?
PD和TiKV在这方面的处理策略是一致的吗?还是有所不同?

【资源配置】
【复制黏贴 ERROR 报错的日志】
【其他附件:截图/日志/监控】

关1个没事,不影响运行。短期内开机没有影响。关两个多余半数了,集群运行不了。

关机 1 节点:完全自动恢复,业务影响极小。
关机 2 节点:集群不可用,但重启后自动恢复,无数据风险。
PD 与 TiKV:底层 Raft 一致,但架构与故障域完全不同;PD 是单点 Raft、TiKV 是分布式多 Raft。
生产建议:避免同时关闭 2 个节点;如需维护,一次只停 1 个节点,并等待恢复后再操作下一个。

关一个是没有关系的

分布式就是为了解决这种问题的,只要多数派存活就没事

机制是一样的

tidb高可用哦, 只要满足多数派(Quorum) 原则就行

坏一个的话,就无法形成多数派了吧

  • 单节点正常关机 → 重启后:集群全自动恢复,无需任何人工干预
  • 2 个节点同时正常关机 → 剩余 1 节点存活:
  • TiKV 业务只读 / 不可写
  • PD 集群无法选主、集群管控失效
  • 两台故障节点开机后,自动自愈恢复,无需手动操作
  • PD、TiKV 容错策略完全不一样,核心机制不同

坏一个可以的,坏两个就不行了

  • 关机 1 台:集群全程高可用,开机后完全自动恢复,无需手动干预
  • 关机 2 台:集群停机不可用,全部节点上电启动后,集群自动自检、选主、同步,最终自动恢复正常
  • TiKV :负责数据的存储、Raft 共识和心跳上报。它关注“我是否还活着”以及“我的数据是否完整”。
  • PD :负责集群的“大脑”决策。它监控 TiKV 的心跳,判断节点状态(Up/Down),并负责生成调度操作(Operator)来恢复副本数量或迁移数据。

raft协议大多数能满足就可以正常运行。关机一个的话,时间久了就会迁移region。关机2节点,集群应该宕机,起到那个后应该正常恢复运行

正常运行后会重新选主吗