【TiDB 版本】 2.1.6,ansible部署
【集群节点分布】
【问题】
尝试用pd-ctl下线TiKV2-1:-d store delete 5
发现该store的state_name由up变为offline,region_count由7109逐渐下降,但降到10后卡住,不再下降,state_name也一直不变为tombstone。
请问为什么?如何解决?
【TiDB 版本】 2.1.6,ansible部署
【集群节点分布】
【问题】
尝试用pd-ctl下线TiKV2-1:-d store delete 5
发现该store的state_name由up变为offline,region_count由7109逐渐下降,但降到10后卡住,不再下降,state_name也一直不变为tombstone。
请问为什么?如何解决?
1、store 5 上的 region 发现存在 down_peers 和 pending_peers,确认下这些 peer 所在的 store 节点是否存在,可以使用 pd-ctl 把 learner 为 true 的 peer remove 掉;
2、如果还是无法及时下线,尝试手动 transfer leader 和 transfer region 操作将剩余的 8 个 region transfer 到其他正常的 store 上 。
1、如果 label 设置正确的话,TiKV2-1和TiKV2-2 可以同时下线,不会导致下线卡住,检查下 inventory.ini 中的 labels 和 location_labels 是否设置正确
2、offline 状态可以通过 curl -X POST http://{pd_ip}:2379/pd/api/v1/store/${store_id}/state?state=Up 修改为 Up 状态
请问,正在下线的TiKV2-1和TiKV2-2对应的store也认为存在吗?如果也认为存在的话,那么所有的down_peers和pending_peers所在的store节点都存在。
ps:有1个down_peers/pending_peersr的store_id在TiKV2-2上。
请问,learner为true的peer是类似于36758这样的peer吗?
1、如果是正在下线的节点,不应该是 down 的状态,pd-ctl > store 10 看下结果,方便的话发一下 store 命令的结果;
2、learner 为 true 的 peer 是类似于 36758 这样的 peer, operator add remove-peer <peer_id> <store_id>,文档中有示例。
如果各个 store 状态都是 Up,且 peer 的 leaner 状态一直没有改变,可能是 tikv send 或 get snapshot 卡住了,先 remove 掉这些异常状态的 peer 再做下线。
https://pingcap.com/docs-cn/v2.1/reference/tools/tikv-control/#设置一个-region-为-tombstone
请问,pd-ctl -d operator add remove-peer 36758 5后,还需要执行tikv-ctl的操作吗?
请问,该命令能删除learner为true的peer吗?
1、这个场景不需要使用 tikv-ctl 命令操作 region,region 的 tombstone 状态跟 store 的 tombstone 状态不是一个概念
2、可以删除 learner 的 peer,按照文档的说明为准
3、默认每个 region 有 三个副本,删除异常状态的 peer,只要保证有至少两个正常的 peer(包括 leader),会自动补副本,不会丢数据
要下线的store 5的region信息如下:
针对36758的peer,若想删除它,
请问是
pd-ctl -d operator add remove-peer 35224 5
还是
pd-ctl -d operator add remove-peer 35224 10
?
pd-ctl -d operator add remove-peer 35224 10
目前3台机器,每台机器2个TiKV,打1个label,详细信息参见问题描述中的图片。现在同时下线TiKV2-1和TiKV2-2,也就是labels="host=tikv2"整体下线。这样是否就不满足3副本了,会有影响吗?
不满足3副本无法完成下线操作,tikv 不会变成 tombstone,3 副本需要保证至少 3 个节点(相同 label 的算一个)。
那单独下线TiKV2-1是否就没有问题了?
没问题
尝试下线再上线后,一切顺利。但是grafana界面显示有些异常,如下图所示:
图中框住的地方显示TiKV已经全部Up,但为什么还有2个为Tombstone?
pd-ctl -d store结果也显示所有store为Up状态。
请问现在还有问题吗?