mongodb碎片复制成员:找不到要从中同步的成员
我正在尝试设置mongodb,其中包含具有副本集的碎片,并且我已启用--rest,以便我可以在浏览器上查看我的碎片。但是,当我查看“replSetGetStatus”时,它显示“找不到要从中同步的成员”mongodb碎片复制成员:找不到要从中同步的成员,mongodb,deployment,replication,sharding,replicaset,Mongodb,Deployment,Replication,Sharding,Replicaset,我正在尝试设置mongodb,其中包含具有副本集的碎片,并且我已启用--rest,以便我可以在浏览器上查看我的碎片。但是,当我查看“replSetGetStatus”时,它显示“找不到要从中同步的成员” 在主复制上执行rs.status()操作时复制副本成员的列表 { "set" : "S1repset", "date" : ISODate("2015-09-29T16:19:22.020Z"), "myState" : 1, "members" : [
在主复制上执行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 container Digital ocean中,并使用weave使容器能够在不同的液滴中通信。
我们的装置有4个液滴
- 每个运行一个路由器(共4个)
- 三个配置服务器
- 4个包含4个复制副本成员的碎片
- 在一个液滴中,另一个液滴包含1个主液滴和2个辅助液滴
这种设置适合在生产环境中使用吗 提前感谢,,
Ronald仅在次要和正在恢复的成员上的
rs.status()
的输出上显示syncingTo
字段,并保存从中同步此实例的成员的主机名。对于ex-tail-f/var/log/mongodb/mongod.log,您还可以从logs
中看到它
您的分片集群非常丰富,但我建议每个分片有两个副本就足够了,因此对于一个分片来说,复制因子RF=3
。它降低了成本。您仍然可以在两个次要节点中的一个节点上运行mongos
进行剪切。感谢Hitesh的建议,我想我已经找到了为什么我会遇到“找不到要同步的成员”。例如,我在一个碎片中有3个副本成员,我正在其中一个副本成员上的浏览器上查看副本状态,此时会显示消息“找不到要从中同步的成员”,但当我不在浏览器上时,消息会熄灭。你的意思是说RF=3是1个主要部分和2个次要部分?