tidb出现regions miss-peer该怎么办?

调度策略控制

使用 pd-ctl 可以从以下三个方面来调整 PD 的调度策略。更具体的信息可以参考 PD Control

启停调度器

pd-ctl 支持动态创建和删除 Scheduler,你可以通过这些操作来控制 PD 的调度行为,如:

  • scheduler show :显示当前系统中的 Scheduler
  • scheduler remove balance-leader-scheduler :删除(停用)balance region 调度器
  • scheduler add evict-leader-scheduler 1 :添加移除 Store 1 的所有 Leader 的调度器

手动添加 Operator

PD 支持直接通过 pd-ctl 来创建或删除 Operator,如:

  • operator add add-peer 2 5 :在 Store 5 上为 Region 2 添加 Peer
  • operator add transfer-leader 2 5 :将 Region 2 的 Leader 迁移至 Store 5
  • operator add split-region 2 :将 Region 2 拆分为 2 个大小相当的 Region
  • operator remove 2 :取消 Region 2 当前待执行的 Operator

调度参数调整

使用 pd-ctl 执行 config show 命令可以查看所有的调度参数,执行 config set {key} {value} 可以调整对应参数的值。常见调整如下:

  • leader-schedule-limit :控制 Transfer Leader 调度的并发数
  • region-schedule-limit :控制增删 Peer 调度的并发数
  • enable-replace-offline-replica :开启节点下线的调度
  • enable-location-replacement :开启调整 Region 隔离级别相关的调度
  • max-snapshot-count :每个 Store 允许的最大收发 Snapshot 的并发数