Run_pd.sh与pd-ctl检查出的结果不一致


run_pd.sh中没有192.168.138.13这个主机,但pd-ctl可以看到192.168.13这台主机
image
原因:192.168.138.13down掉,只好把192.168.138.13重做,没有按操作下线,kv,tidb,pd都是三(加上13这台机器)
操作:把192.168.138.13重新做系统之后,修改为15ip,然后扩容kv,tidb,pd,kv与tidb扩容正常,pd扩容失败,之后下线kv,tidb,pd,,kv与tidb缩容正常,pd缩容之后Run_pd.sh与pd-ctl检查出的结果不一致,操作都是按照https://pingcap.com/docs-cn/v3.0/how-to/scale/with-ansible/这个网站进行操作,因为13这台机器已经不存在,所以没有停止节点上的服务
kv,tidb,pd在13上都存在,所以kv,tidb,pd都要进行扩容和缩容

13上的 pd 有没有停止运行过呢,pd-ctl 是直接读取 pd 的运行状态,run_pd.sh 是根据 ansible 的配置生成的,猜测是 13 机器上的 pd 没有被停止导致的扩容/缩容失败,可以手动从集群中移除这个节点然后停止服务

pd-ctl -u “http://192.168.138.12:2379” -d member delete id …

systemctl stop pd.service 或 systemctl stop pd-2379.service

13这台机器现在已经不存在了,就是pd-ctl可以检查出13

pd-ctl -u “http://192.168.138.12:2379” -d member delete id …

pd-ctl 可以检查出 13 说明 13 还在集群中,集群在等待 13 恢复,通过 pd-ctl 把这个节点从集群中移除掉吧

直接移除吗 pd-ctl -d store delete 5 这样?

移除节点吧,图里还有 pd name 冲突的情况,通过 id 移除

member delete id 1319539429105371180

image
随便在一台有pd节点执行吗?

是的,pd-ctl 在任意 pd 上操作是等效的

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