TiKV扩缩容场景下的TiKV异常,寻找已下线的store节点["request failed"] [err_code=KV:PD:gRPC] [err="Grpc(RpcFailure(RpcStatus { code: 2-UNKNOWN, message: \"invalid store ID 1, not found\", details: [] }))"]

TiKV 和 TiFlash 的下线是异步的,整个过程会分为多个环节,大致流程如下:
1、使用 tiup cluster scale-in 命令通过 PD API 开始下线流程,此操作仅是一个“ 触发开关”,API 成 功返回仅代表开始下线。
2、PD 在通过 API 收到下线请求后,会触发下线流程,首先会将对应的 Store 的状态从 Up —> Offline。
3、 对应的 Store 在状态变为 Offline 后,会开始:
・ 将其上的 leader 转移到其他 Store(Evict leader,由 TiUP 手动添加)
・ 将其上的 Region 转移到其他 Store
4、 在当前 Store 的 Region 全部被驱逐完毕后,PD 会将对应 Store 的状态从 Offline —> Tombstone
5、 过程中可以使用 tiup cluster display 命令查看下线节点的状态,等待其变为 Tombstone
6、 使用 tiup cluster prune 命令清理 Tombstone 节点,该命令会执行以下操作:
・ 停止已经下线掉的节点的服务
・ 清理已经下线掉的节点的相关数据文件
・ 更新元数据信息和集群拓扑,移除已经下线掉的节点

这是之前技术月刊上一篇文章描述的。 经常碰到的情况是prune之后 tiup里的看不到,但grafana监控显示tombstone,然后使用remove tombstone清理