У меня 6 экземпляров, работающих на Scaleway, 3 на серверах ARM и 3 на виртуальных серверах Ubuntu.
mongodb1 ARM (mongodb 3.4.9)
mongodb2 ARM (mongodb 3.4.9)
mongodb3 ARM (mongodb 3.4.9)
mongodb4 VPS (mongodb 3.4.15)
mongodb5 VPS (mongodb 3.4.15)
mongodb6 VPS (mongodb 3.4.15)
Эти 6 экземпляров работают под управлением mongodb и объединены в набор реплик.
Чаще всего экземпляры ARM отключаются или перезагружаются по неизвестным или неявным причинам.
Когда я подключаюсь к mongodb на текущих расстояниях, я вижу, что все они ВТОРИЧНЫЕ, и ни один из них не выбран частным. Разве не должно быть так, чтобы система могла работать?
Я также установил и запустил еще один экземпляр, доведя ситуацию до 4 из 6 участников, по-прежнему без изменений.
После запуска 5-го члена набора реплик, доведя ситуацию до 5 из 6 элементов UP, наконец, выбирается узел PRIMARY.
вот результат rs.status ():
"members" : [
{
"_id" : 0,
"name" : "mongodb1:27017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-08-14T07:29:56.945Z"),
"lastHeartbeatRecv" : ISODate("2018-08-11T08:20:39.905Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 1,
"name" : "mongodb2:27017",
"health" : 0,
"state" : 8,
"stateStr" : "(not reachable/healthy)",
"uptime" : 0,
"optime" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDurable" : {
"ts" : Timestamp(0, 0),
"t" : NumberLong(-1)
},
"optimeDate" : ISODate("1970-01-01T00:00:00Z"),
"optimeDurableDate" : ISODate("1970-01-01T00:00:00Z"),
"lastHeartbeat" : ISODate("2018-08-14T07:29:56.944Z"),
"lastHeartbeatRecv" : ISODate("2018-08-11T08:20:39.912Z"),
"pingMs" : NumberLong(0),
"lastHeartbeatMessage" : "Connection refused",
"configVersion" : -1
},
{
"_id" : 2,
"name" : "mongodb3:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 966,
"optime" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDurable" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDate" : ISODate("2018-08-11T08:20:34Z"),
"optimeDurableDate" : ISODate("2018-08-11T08:20:34Z"),
"lastHeartbeat" : ISODate("2018-08-14T07:30:00.654Z"),
"lastHeartbeatRecv" : ISODate("2018-08-14T07:29:59.814Z"),
"pingMs" : NumberLong(1),
"configVersion" : 6
},
{
"_id" : 3,
"name" : "mongodb4:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1814348,
"optime" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDurable" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDate" : ISODate("2018-08-11T08:20:34Z"),
"optimeDurableDate" : ISODate("2018-08-11T08:20:34Z"),
"lastHeartbeat" : ISODate("2018-08-14T07:29:58.088Z"),
"lastHeartbeatRecv" : ISODate("2018-08-14T07:30:00.186Z"),
"pingMs" : NumberLong(1),
"configVersion" : 6
},
{
"_id" : 4,
"name" : "mongodb5:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 4316484,
"optime" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDate" : ISODate("2018-08-11T08:20:34Z"),
"infoMessage" : "could not find member to sync from",
"configVersion" : 6,
"self" : true
},
{
"_id" : 5,
"name" : "mongodb6:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 1639135,
"optime" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDurable" : {
"ts" : Timestamp(1533975634, 1),
"t" : NumberLong(14)
},
"optimeDate" : ISODate("2018-08-11T08:20:34Z"),
"optimeDurableDate" : ISODate("2018-08-11T08:20:34Z"),
"lastHeartbeat" : ISODate("2018-08-14T07:29:59.990Z"),
"lastHeartbeatRecv" : ISODate("2018-08-14T07:29:56.473Z"),
"pingMs" : NumberLong(1),
"configVersion" : 6
}
],
"ok" : 1