Назад | Перейти на главную страницу

Набор реплик MongoDB не выбирает ПЕРВИЧНЫЙ с 4 из 6 участников

У меня 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