У меня есть реплика набора (размещенный на Амазонке), который имеет:MongoDB время запроса реплики сердцебиения превышено
- первичный
- вторичного
- арбитром
Все они являются версиями 3.2.6 и эта реплика делает один осколок в моем осколочном кластере (если это важно, хотя я думаю, что это не так).
Когда я типа rs.status()
на первичный он говорит, что не может достичь среднего (то же самое на арбитром):
{
"_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
}
(кстати посмотреть на optimeDate Оо)
Ошибка в моем журнале является:
[ReplicationExecutor] Error in heartbeat request to secondary-ip:27017; ExceededTimeLimit: Couldn't get a connection within the time limit
Странно то, что, когда я иду на вторичный и тип rs.status()
все, л ooks ОК. Также я могу подключиться к вторичному из моего основного экземпляра (с mongo --host secondary
), поэтому я думаю, что это не проблема сети. Вчера все было хорошо.
TL; DR Мое первичное не может видеть, что вторичный и арбитр не могут видеть вторичный, а мой вторичный видит первичный, и все работает нормально только день назад, и я могу вручную подключиться к вторичному из первичного экземпляра.
У любого есть идея, что может пойти не так?
Tnx, Иван
Каково решение этой проблемы? Мой optimeDate тот же. – Richard