tikv 报错 cluster ID mismatch

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
5.2.2
【附件】

之前pd扩容后启动不起了,然后使用pd-recover 工具恢复了,
现在是tikv 报错

cluster ID mismatch, local 6818507360388641003 != remote 7027834954445098299, you are trying to connect to another cluster, please reconnect to the correct PD""]

cluster ID mismatch, local 6818507360388641003 != remote 7027834954445098299

pd 日志:


官网说了这个问题,但是没说怎么解决

3 Likes

获取一下各节点 Cluster ID

使用以下命令,从 PD 日志中获取 Cluster ID:
cat {{/path/to}}/pd.log | grep “init cluster id”

使用以下命令,从 TiDB 日志中获取 Cluster ID:
cat {{/path/to}}/tidb.log | grep “init cluster id”

使用以下命令,从 TiKV 日志中获取 Cluster ID:
cat {{/path/to}}/tikv.log | grep “connect to PD cluster”

2 Likes

获取之后怎么弄呢?

2 Likes

部署一套新的 PD 集群

部署新的 PD 集群之前,需要停止当前的 PD 集群,然后删除旧的数据目录(用 --data-dir 指定)。

使用 pd-recover

./pd-recover -endpoints http://10.0.1.13:2379 -cluster-id 6747551640615446306 -alloc-id 10000

重启整个集群

当出现 recovery is successful 的提示信息时,重启整个集群。

3 Likes

一台pd


tidb 日志

tikv

2 Likes

我就是这样操作的,请问现在cluster-id ip我该用那个,是tikv上面那个,还是pd?

1 Like

我直接停了集群,先部分原有的pd 集群数据,然后 --data-dir 数据,重启可以哈。

1 Like

重启完再获取一下cluster id ,看看是否都一致。

1 Like

./pd-recover -endpoints http://10.0.1.13:2379 -cluster-id 6747551640615446306 -alloc-id 10000
这里的cluster-id 我该用pd上面的还是tikv 上面的,我之前都是用的pd上面的

1 Like

用PD的cluster id

用pd的cluster id 我试了好久次了,不得行

重启集群你用的restart 还是reload? 要用restart

我看tikv和tidb是一致的,那就用tikv的试一下。

集群只有1台PD? 1台PD还是扩容上去的?


现在pd 上面用两个,后面一个是重启后的,我应该是用前面那个哈

pd原来只有一台,后面扩容了1台,扩容了就启动不了,打算扩容2台的,扩容到第二台的时候就不得行了。

现在tikv 又变成这个了


随时都在变

先把扩容的缩容掉,然后再使用 pd-recover

pd-recover 这个操作我需要停到全部集群吗,包括tidb,tikv

不需要停。这个命令执行完,再重启集群就行

终于启动起来

2 Likes