我正在尝试使用MongoDb创建副本集,服务器主机名为:
主机名主机名-1主机名-2
其中每一个都有/etc/hosts文件中详细描述的所有相关主机名(它们都运行Ubuntu 10.04 64位)
当我在一个节点上执行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 hostname-1,它工作正常。
有没有人知道是什么导致了这个问题?
不幸的是,在Mongo文档中,没有在真实场景中设置副本集的示例,只在同一台机器上使用三个实例,这显然是无用的。
提前感谢您的帮助!
发布于 2012-12-04 06:13:05
在您的配置中删除此选项:
bind_ip = 127.0.0.1
该选项目前与mongodb副本集不兼容。
发布于 2012-07-12 10:54:56
当您添加未“启动”的节点时,就会发生该错误。听起来可能是"hostname-1“无法访问(不在/etc/hosts中,没有DNS),或者它可以访问但没有使用replSet
配置参数集运行mongodb
发布于 2014-09-05 02:51:30
https://stackoverflow.com/questions/8963903
复制相似问题