调用 "show dbs" 时收到 "given config server set name: NewConfigRS differs from known set name: OldConfigRS" 消息

Getting "given config server set name: NewConfigRS differs from known set name: OldConfigRS" message when calling "show dbs"

我最近在 Mongo 中设置了一个分片集群,其中只有一个副本集已经有数据。我为配置副本集和 mongos 服务器重新使用了以前在集群中的其他 4 个服务器(目前只有一个 mongos)。

我正在使用 Mongo Cloud Manager,一切似乎 运行 都很好。当我尝试显示 dbs 或 运行 对集合的简单查找查询时,我收到此消息:

Error: listDatabases failed:{
    "code" : 8,
    "ok" : 0,
    "errmsg" : "given config server set name: NewConfigRS differs 
                from known set name: OldConfigRS"
} :
_getErrorWithCode@src/mongo/shell/utils.js:25:13
Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1
shellHelper.show@src/mongo/shell/utils.js:755:19
shellHelper@src/mongo/shell/utils.js:645:15
@(shell):1:1

我检查了 mongos 配置文件。 configDB 看起来正确:

sharding:
  configDB: NewConfigRS/conf1:27019,conf2:27019,conf3:27019

我可以直接连接到副本集并运行查询,没有问题。

Mongo版本:3.2.10

我错过了什么?

听起来您的副本集之一(可能是配置服务器)没有正确更新。您应该仔细检查保存在配置中的副本集名称(即在 local 数据库中)与 mongod 配置中命名的副本集(例如在 mongod.conf 文件中) .

问题不在于配置服务器。那里的一切都很好。发生的事情是副本集中的实际节点以某种方式缓存了配置细节。重新启动副本集中的每个节点后(一次一个),现在一切正常。