Ich habe Replikatssatz (auf Amazon gehostet), die hat:MongoDB Replik Herzschlag Anforderungszeit überschritten
- primäre
- Sekundär
- Schiedsrichter
Alle von ihnen sind Version 3.2.6 und diese Replik macht einen Shard in meinem Sharded Cluster (wenn das wichtig ist, obwohl ich denke, dass es nicht ist).
Wenn ich rs.status()
auf primären Typ heißt es, dass nicht sekundär erreichen (die gleiche Sache auf Schiedsrichter):
{
"_id" : 1,
"name" : "secondary-ip:27017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2016-07-20T15:40:50.479Z"),
"lastHeartbeatRecv" : ISODate("2016-07-20T15:40:51.793Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Couldn't get a connection within the time limit",
"configVersion" : -1
}
(schauen btw am optimeDate Oo)
Fehler im Log ist:
[ReplicationExecutor] Error in heartbeat request to secondary-ip:27017; ExceededTimeLimit: Couldn't get a connection within the time limit
Merkwürdige ist, dass, wenn ich auf Sekundär gehen und rs.status()
alles l Typ OK, OK. Ich bin auch in der Lage, von meiner primären Instanz (mit mongo --host secondary
) zu sekundären zu verbinden, also denke ich, es ist kein Netzwerkproblem. Gestern hat alles gut funktioniert.
TL; DR meine primäre kann nicht sehen sekundären und arbiter kann nicht sekundäre und meine sekundäre sieht primäre und es war alles in Ordnung vor einem Tag und ich bin in der Lage, manuell zu sekundären von primären Instanz verbinden.
Jeder hat eine Idee was könnte schief gehen?
Tnx, Ivan
Was ist die Lösung dafür? Mein optimeDate ist das gleiche. – Richard