我正在尝试使用MongoDb创建一个副本集,服务器的主机名是:
主机名
主机名-1
主机名2
这些文件的每一个都在/ etc / hosts文件中详细列出了所有相关的主机名(它们都运行64位Ubuntu 10.04)
当我在一个节点上执行rs.initiate时,一切似乎都开始良好。运行rs.status();显示:
{
"set" : "vega",
"date" : ISODate("2012-01-22T19:15:55Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "hostname:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"optime" : {
"t" : 1327254848000,
"i" : 1
},
"optimeDate" : ISODate("2012-01-22T17:54:08Z"),
"self" : true
}
],
"ok" : 1
}
当我尝试将新成员添加到副本集时出现问题。我使用命令rs.add(hostname-1);我收到以下错误:
{
"assertion" : "need most members up to reconfigure, not ok : vega-1:27017",
"assertionCode" : 13144,
"errmsg" : "db assertion failure",
"ok" : 0
}
我尝试了使用主机名和IP地址的各种组合,无论是否使用端口号,我总是遇到相同的问题。主机名正在解析,我尝试ping主机名-1,并且工作正常。
是否有人对导致此问题的原因有任何想法?
不幸的是,在Mongo文档中,没有在真实场景中设置副本集的示例,仅在同一台计算机上使用三个实例,这显然毫无用处。
在此先感谢您的帮助!
最佳答案
在您的配置中删除它:
bind_ip = 127.0.0.1
该选项当前与mongodb副本集不兼容。
关于mongodb - 在MongoDb上的副本集中添加成员,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8963903/