集群停止情况下,所有PD节点IP发生变化后如何处理?

  • 系统版本 & kernel 版本:Centos 7.3
  • TiDB 版本:3.0.1
  • 集群节点分布:4 kv+3 pd + 3 Tidb, 分别在7台服务器上
  • 问题描述(我做了什么): 目前由于服务器网络变化,需要更新PD的IP,请问该如何操作? 集群已经停了,现在也没办法扩容了。 现在3台PD服务器IP都换了,现在有什么办法?

是否有重新做过 ansible 的 deploy.yml 的操作?

有执行deploy.yml

deploy.yml操作未报错,是成功的

tcp 28 0 172.18.168.99:2379 0.0.0.0:* LISTEN 4284/bin/pd-server
tcp 0 0 172.18.168.99:2380 0.0.0.0:* LISTEN 4284/bin/pd-server
PD服务器上PD的进程也启动正常

你好,PD 是不能直接重启换 IP 的,因为 PD 会把其他节点的 url 持久化,重启换 IP 之后互相就找不到了。

现在最简单的方法就是新启动一套 pd,然后用 pd-recover。注意要先停掉 tikv 和 tidb,recover 完了之后再启动。具体可以参考文档: https://pingcap.com/docs-cn/dev/reference/tools/pd-recover/#pd-recover-使用文档

1赞

老师你好,这个文档我怎么看不明白呢? 所说的 PD项目在哪儿呢? 在哪里执行 make 啊

pd-recover 工具在 tidb-ansible 的 resource/bin 目录下有,可以不用编译。

1赞