尝试从头开始设置 MongoDB 副本集时,我感到非常沮丧。这是我第一次使用 MongoDB (2.4.6),我不确定是我缺乏理解还是文档不佳。这是我正在使用的:
-VPC 中的 Amazon EC2 Ubuntu 12.04 LTS 实例 -NodeA 10.0.1.152 -NodeB 10.0.1.153
他们可以很好地相互交流。这些服务器是全新的,因此没有防火墙规则。我的主机文件:
10.0.1.152 mongodb0 10.0.1.153 mongodb1 10.0.1.226 mongodb2 #这是仲裁者,但我暂时不关心这个
我在 NodeA 中的 conf
logpath=/var/log/mongodb/mongodb.log
fork = true
replSet = rs0
bind_ip = mongodb0
logappend=true
我在 NodeB 中的 conf
logpath=/var/log/mongodb/mongodb.log
fork = true
replSet = rs0
bind_ip = mongodb1
logappend=true
在 NodeA 上,我开始这个过程:
mongod --host mongodb0.iin
rs.initiate()
rs.conf()
rs.add("mongo1.iin:27017")
这是错误消息:
{
"errmsg" : "exception: need most members up to reconfigure, not ok : mongodb1.iin:27017",
"code" : 13144,
"ok" : 0
}
我还在副本上运行了 mongo 进程。当我初始化时,它也称自己为 Primary。
在 NodeB 上 - 我对来自 NodeA 的所有流量运行了 TCPDUMP。当我初始化时 - 什么都没有出现。正如我所提到的,没有防火墙规则,我什至添加了为了它而允许来自 NodeA 的所有内容。
我究竟做错了什么?!?!?!?!?!?