我最近在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
我错过了什么?
答案 0 :(得分:0)
听起来您的副本集之一(可能是配置服务器)未正确更新。您应该仔细检查配置中保存的副本集名称(即在本地数据库中)与mongod配置中指定的副本集(例如,在mongod.conf文件中)。
答案 1 :(得分:0)
问题不在于配置服务器。那里的一切都很好。发生的事情是副本集中的实际节点以某种方式缓存了配置细节。重新启动副本集中的每个节点(一次一个)后,一切正常。