我正在尝试设置具有副本集的分片的mongodb并且我启用了 - 所以我可以在我的浏览器上查看我的分片,但是当我查看" replSetGetStatus"它显示"找不到会员同步来自" image of my replica members on my browser
我在主复制上执行rs.status()时的副本成员列表
{
"set" : "S1repset",
"date" : ISODate("2015-09-29T16:19:22.020Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "10.10.30.10:10000",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 18374,
"optime" : Timestamp(1443538866, 970),
"optimeDate" : ISODate("2015-09-29T15:01:06Z"),
"electionTime" : Timestamp(1443540958, 1),
"electionDate" : ISODate("2015-09-29T15:35:58Z"),
"configVersion" : 1,
"self" : true
},
{
"_id" : 1,
"name" : "10.10.40.10:10000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 2603,
"optime" : Timestamp(1443538866, 970),
"optimeDate" : ISODate("2015-09-29T15:01:06Z"),
"lastHeartbeat" : ISODate("2015-09-29T16:19:20.174Z"),
"lastHeartbeatRecv" : ISODate("2015-09-29T16:19:21.176Z"),
"pingMs" : 1,
"configVersion" : 1
},
{
"_id" : 2,
"name" : "10.10.50.10:10000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 2451,
"optime" : Timestamp(1443538866, 970),
"optimeDate" : ISODate("2015-09-29T15:01:06Z"),
"lastHeartbeat" : ISODate("2015-09-29T16:19:21.826Z"),
"lastHeartbeatRecv" : ISODate("2015-09-29T16:19:20.278Z"),
"pingMs" : 1,
"lastHeartbeatMessage" : "could not find member to sync from",
"configVersion" : 1
},
{
"_id" : 3,
"name" : "10.10.60.10:10000",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 18155,
"optime" : Timestamp(1443538866, 970),
"optimeDate" : ISODate("2015-09-29T15:01:06Z"),
"lastHeartbeat" : ISODate("2015-09-29T16:19:20.183Z"),
"lastHeartbeatRecv" : ISODate("2015-09-29T16:19:20.687Z" ),
"pingMs" : 1,
"configVersion" : 1
}
],
"ok" : 1 }
使用的MongoDB版本是v3.0.6,在docker容器Digital ocean中运行,并使用weave使容器能够以不同的液滴进行通信。 我们的设置有4个液滴
所以我的问题是如何解决这个问题,还是在MongoDB v3.0.6上这是正常的?
这种设置是否适合在生产环境中使用?
提前致谢, 罗纳德
答案 0 :(得分:0)
syncingTo
字段仅出现在辅助和恢复成员的rs.status()
输出上,并保存此实例正在同步的成员的主机名。您也可以从logs
查看前tail -f /var/log/mongodb/mongod.log
。
你的分片群集非常丰富,但我建议每个分片的两个副本就足够了Replication Factor RF=3
一个分片。它降低了成本。您仍然可以在两个mongos
节点之一上运行secondary
。