mongodb - 在尝试运行配置服务器的副本集时获取“副本集 ID 不匹配,我们的:<>,远程节点的:<>”
问题描述
我正在尝试创建一个分片集合。为此,我创建了配置服务器的副本集。但是我遇到了一些问题,因为我从“local.system.replset”中删除了副本集。更改了配置服务器的配置文件中的 replset 名称。然后在使用新名称但旧 ips 创建 replset 之后。我收到以下错误:
"replica set IDs do not match, ours:<new replset name>,remote node‘s: <old replset name>"
因此,旧的 replset 名称似乎仍然存在绑定。我怎样才能删除它?或者更改配置服务器的 ips 是唯一的选择?
解决方案
一种方法是选择一个具有当前数据的节点,删除其副本集配置文档并使用新名称启动它。
然后进行备份(以防万一)并删除其他节点的dbpath中的所有文件,以配置文件中的新名称启动它们,并将rs.add
它们复制到副本集。
已被清除的节点将从第一个开始复制所有数据。
推荐阅读
- reactjs - 无法获取 React Form 值
- entity-framework - EF 迁移 - 微服务 - 使用 EF 迁移从 DB1 获取值并在 DB2 中更新(用于修补数据,一次)
- swift - ARKit 2.0 – 如何阻止音频在 SCNView 中播放?
- java - 我是否必须阻止循环操作处理程序调用
- java - 如何在 Spring Boot Cors 中设置标题?
- ios - 如何在另一个故事板中快速在 xib 文件中显示新控制器
- apache-spark - pyspark union over RDDs 的组合
- javascript - IntelliJ 显示无效 HTML 警告 - 来自不同模块的源
- node.js - ExpressJS 路由将参数保存到 Store.js
- android - 添加/编辑活动的最佳实践