我试图配置一个具有两个节点的副本集,但是当我执行rs.add("node2")
然后rs.status()
时,两个节点都设置为PRIMARY。另外,当我在另一个节点上运行rs.status()
时,出现的唯一节点就是本地节点。mongodb - 副本集中的所有节点都是主要的
EDIT1: rs.status()
输出:
{
"set" : "rs0",
"date" : ISODate("2012-09-22T01:01:12Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "node1:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 70968,
"optime" : Timestamp(1348207012000, 1),
"optimeDate" : ISODate("2012-09-21T05:56:52Z"),
"self" : true
},
{
"_id" : 1,
"name" : "node2:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 68660,
"optime" : Timestamp(1348205568000, 1),
"optimeDate" : ISODate("2012-09-21T05:32:48Z"),
"lastHeartbeat" : ISODate("2012-09-22T01:01:11Z"),
"pingMs" : 0
}
],
"ok" : 1
}
EDIT2:我试过3个不同的节点做同样的事情,我得到了相同的结果(rs.status()
说我有一个副本有三个主要节点设置)。这个问题是否可能是由网络的某些特定配置引起的?
您不应创建具有偶数个节点的ReplicaSet。如果您有空间问题,请添加一个仲裁节点(没有存储空间,但可以投票选择主节点)作为第三个节点。 –
你可以用'rs.status()'的输出更新你的问题吗?确保在发布之前使输出匿名。 –
已更新它。对于迟到的回复感到抱歉 – miguel