我已经部署了一个带有 3 台服务器的 mongodb 副本集(一台主服务器、一台辅助服务器和一台任意服务器)
服务器 mongoA 位于一台 Linux 机器上,而 mongoB(辅助)和 mongoB(任意)位于另一台 Linux 机器上
如果我从 mongoB Linux 机器启动 Primary 脚本并在 mongoA 上启动 Secondary 和 arbitery,即使 mongo shell 显示 primary,我也无法在 mongoB linux 机器中的 db 下看到我的任何数据(集合),反之亦然工作正常.
日志没有显示任何错误。
请让我知道这是否是 mongob 机器中的预期行为?
这些是从 mongob 收集的我的服务器的统计信息
at:PRIMARY> rs.conf()
{
"_id" : "nat",
"version" : 18,
"members" : [
{
"_id" : 0,
"host" : "mongoA:27017"
},
{
"_id" : 1,
"host" : "mongoB:27018"
},
{
"_id" : 2,
"host" : "mongoB:27019",
"arbiterOnly" : true
}
]
}
nat:PRIMARY> rs.status()
{
"set" : "nat",
"date" : ISODate("2013-11-05T09:57:30Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "mongoA:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 216,
"optime" : Timestamp(1383315218, 1),
"optimeDate" : ISODate("2013-11-01T14:13:38Z"),
"self" : true
},
{
"_id" : 1,
"name" : "mongoB:27018",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 150,
"optime" : Timestamp(1383315218, 1),
"optimeDate" : ISODate("2013-11-01T14:13:38Z"),
"lastHeartbeat" : ISODate("2013-11-05T09:57:28Z"),
"lastHeartbeatRecv" : ISODate("2013-11-05T09:57:28Z"),
"pingMs" : 0,
"syncingTo" : "mongoA:27017"
},
{
"_id" : 2,
"name" : "mongoB:27019",
"health" : 1,
"state" : 7,
"stateStr" : "ARBITER",
"uptime" : 134,
"lastHeartbeat" : ISODate("2013-11-05T09:57:28Z"),
"lastHeartbeatRecv" : ISODate("2013-11-05T09:57:29Z"),
"pingMs" : 0
}
],
"ok" : 1
}