无法将成员添加到MongoDB副本集中

时间:2013-05-04 12:29:24

标签: mongodb

我正在使用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文件。

有什么想法吗?我不明白这个错误信息是什么意思!

3 个答案:

答案 0 :(得分:2)

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

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 }

答案 1 :(得分:1)

就我而言,只需重新启动虚拟机,一切都很好。

答案 2 :(得分:0)

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