如何为其中一个 TiKV 副本启用维护模式?

TiDB可以为其中一个TiKV副本启用维护模式么?
我想在一个节点上升级内核和软件包,并想禁用重启服务。如果我尝试使用 tiup 停止服务,会得到了很长的db响应。
想请问各位大佬有没有什么方法?

先把这个tikv的leader 驱逐走再停机操作即可。默认不超过30分钟的话,不会认为这个节点down,如果超过30分钟,再改个 max-store-down-time

pd-ctl -i
scheduler add evict-leader-scheduler
config set max-store-down-time 60m

第一次听说还有这种的,这是什么需求。

查看下集群配置,最长维护时间,调整后,直接stop这个阶段。然后维护,再启动即可。

1 个赞

stop后,其它节点副本会变成leader。

目标就是为了防止因为强行下线导致的 leader 重新选举带来的性能抖动吧。提前手动让 leader 迁移到其他节点上就是为了避免这个的。

大佬,想求问一下在哪里可以找到从TiKV驱逐leader的方法呐?

好的谢谢大佬

这啥意思?

就是通过 pd-ctl 连上

tiup的命令大概是:
// 获取 store 信息,里面会记录每个 tikv 对应的 store
tiup ctl pd -u http://pdip:2379 store
然后针对你想折腾的 tikv 执行驱逐 leader 动作:
tiup ctl pd -u http://pdip:2379 scheduler add evict-leader-scheduler storeid

记得处理完后恢复回来。
pd-ctl 的用法参考:
https://docs.pingcap.com/zh/tidb/stable/pd-control

1 个赞

谢谢大佬!辛苦啦!

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