1

我正在使用 MongoDB 2.4.3,并遵循向导: http ://docs.mongodb.org/manual/tutorial/deploy-replica-set/

但是将其他成员添加到副本集中时,会​​出现以下错误:

root@vm3:~# mongo
MongoDB shell version: 2.4.3
connecting to: test
rs1:PRIMARY> rs.add("vm1")
{
    "errmsg" : "exception: set name does not match the set name host vm1:27017 expects",
    "code" : 13145,
    "ok" : 0
}
rs1:PRIMARY> rs.add("vm4")
{
    "errmsg" : "exception: set name does not match the set name host vm4:27017 expects",
    "code" : 13145,
    "ok" : 0
}

vm1、vm3 和 vm4 相互认识,因为我正确配置了它们的 /etc/hosts 文件。

任何的想法?我不明白这个错误信息是什么意思!

4

3 回答 3

3

重新启动所有虚拟机后,它现在可以工作了。

root@vm3:~# mongo
MongoDB shell version: 2.4.3
connecting to: test
rs1:PRIMARY> rs.add("vm4")
{ "ok" : 1 }
rs1:PRIMARY> rs.add("vm1")
{ "ok" : 1 }
于 2013-05-04T12:33:11.750 回答
1

在我的情况下,只需重新启动虚拟机,一切都很好。

于 2013-12-13T00:04:58.350 回答
0

如果您要重新安装 MongoDB 实例,replSet 可能位于驱动器上的数据文件中。我在设置新的副本集时遇到了同样的问题。问题是在启动具有较旧 replSet 名称的实例后更改副本集名称。我删除了数据文件,再次运行我的安装脚本,它工作得很好。

于 2013-12-12T22:49:34.753 回答