新集群使用的tidb的数据是旧的集群上的数据,直接将旧集群上的tikv的数据目录覆盖新集群的数据目录,启动之后,tikv节点一直报错如下图

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】

你这不是常规操作,不建议这样玩,tikv中应该记录了cluster id,pd的etcd中应该也记录了这个,不匹配加不进去的,保证所有tikv节点都是一个集群的数据,然后按https://docs.pingcap.com/zh/tidb/v6.5/pd-recover#方式二完全重建-pd-集群 重建PD,这样应该能拉起来

需要重建pd


搜索参考文章

把旧PD的数据也弄过来是不是可以?

元数据不一致的,不建议这样玩

已处理,感谢

说下最终的处理方式吧,不知道你按哪个方案最终解决的,方便其他人参考


上述pd的cluster-id 那个已解决,现在报错如上图

你这跟那2个 raft engine 被rm了是一个事吧

重现打了一套,将旧的tikv的数据拷贝过来了。其中节点1的raft-engine确实被删除了,对了节点2跟节点3上raft-engine下面的0000000000000001.rewrite 的md5的值一样,就将节点2上的拷贝到节点1上面了,然后就三台报错如上,均启动不了

参考这个 做最坏打算吧

没有找到,只有这个
image
解压之后是 tidb-exporter-v711-x86_64-unknown-linux-gnu

这样肯定不行的,新集群的元数据和旧集群都不一致,建议通过数据迁移工具将旧集群的数据迁移到新集群

ID信息异常造成的

如果你能把pd的数据全部搞过来,估计还可以,不过有点难度,建议你新建集群导入吧

建议还是通过备份还原,或者扩容缩容的方式更换服务器

数据量不大的话 全量加增量数据同步 也挺快的 没必要这么折腾

这个操作应该是无效的,而且大概率会污染原来的数据。

旧集群存储的数据,其集群ID、Region 位置等元数据是根据旧集群而定的。
新集群会有新的元数据信息,用旧的TiKV数据目录作为新集群的存储节点起来,大概率是不行的。

不仅元数据会冲突,而且无法正常解析TiKV Region数据,看看还有没有备份吧,用备份来恢复集群。如果没有,经过这些操作,要做好最坏的打算。

引以为戒!!