调用“show dbs”时,获取“给定配置服务器集名称:NewConfigRS与已知集名称:OldConfigRS”不同

时间:2017-06-01 22:09:02

标签: mongodb config sharding replicaset

我最近在Mongo中设置了一个分片群集,只有一个副本集已经有了数据。我重新使用了以前在群集中的4个其他服务器用于配置副本集和mongos服务器(现在只有一个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

我错过了什么?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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