我正在使用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文件。
有什么想法吗?我不明白这个错误信息是什么意思!
答案 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名称启动实例后更改副本集名称。我删除了数据文件,再次运行我的安装脚本,它运行得很好。