sic*_*icr 20 database master-slave mongodb
我正在尝试使用MongoDb创建副本集,服务器主机名是:
hostname hostname-1 hostname-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
}
Run Code Online (Sandbox Code Playgroud)
当我尝试将新成员添加到副本集时,问题就出现了.我使用命令rs.add(hostname-1); 我收到以下错误:
{
"assertion" : "need most members up to reconfigure, not ok : vega-1:27017",
"assertionCode" : 13144,
"errmsg" : "db assertion failure",
"ok" : 0
}
Run Code Online (Sandbox Code Playgroud)
我尝试过使用主机名,IP地址的多种组合,无论是否有端口号,我总是遇到同样的问题.主机名正在解析,我已经尝试过ping hostname-1,它运行正常.
有没有人对可能导致这个问题的原因有任何想法?
不幸的是,在Mongo文档中没有在现实世界场景中设置副本集的示例,只在同一台机器上使用三个实例,这显然是无用的.
在此先感谢您的帮助!
小智 14
在配置中删除它:
bind_ip = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)
该选项目前与mongodb副本集不兼容.
pha*_*ckk 10
当您添加尚未"启动"的节点时,会发生该错误.听起来好像"hostname-1"无法访问(不在/ etc/hosts中,没有DNS)或者它是可以访问的但是没有使用replSet配置参数集运行mongodb