MongoDB Строка подключения ReplicaSet не работает - PullRequest
0 голосов
/ 04 декабря 2018

Я установил набор реплик MongoDB, и это структура:

  • Один первичный узел.
  • Один вторичный узел.
  • Один узел арбитра.

Я включил вывод rs.status () в конец этого поста.

Проблема, с которой я сталкиваюсь сейчас, заключается в том, что когда мое приложение подключено с использованием MongoDBстрока соединения: mongodb://192.168.17.52:27017,192.168.17.223:27017,192.168.17.49:27017/?replicaSet=rs-nnt&readPreference=primary будет работать, если первичный узел указан первым в списке через запятую и в этом случае 192.168.17.52:27017.Если бы мне пришлось остановить службу первичной БД, я бы ожидал, что приложение будет использовать вторичный узел, но по какой-то причине он не будет работать, и после некоторого устранения неполадок я пришел к выводу, что он будет принимать только первый хост, указанный вСтрока подключения.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация, оцените любую помощь!

rs.status () :

rs-nnt:PRIMARY> rs.status()
{
        "set" : "rs-nnt",
        "date" : ISODate("2018-12-04T14:09:38.835Z"),
        "myState" : 1,
        "term" : NumberLong(8),
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1543932576, 1),
                        "t" : NumberLong(8)
                },
                "readConcernMajorityOpTime" : {
                        "ts" : Timestamp(1543932576, 1),
                        "t" : NumberLong(8)
                },
                "appliedOpTime" : {
                        "ts" : Timestamp(1543932576, 1),
                        "t" : NumberLong(8)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1543932576, 1),
                        "t" : NumberLong(8)
                }
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "192.168.17.52:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 10565,
                        "optime" : {
                                "ts" : Timestamp(1543932576, 1),
                                "t" : NumberLong(8)
                        },
                        "optimeDate" : ISODate("2018-12-04T14:09:36Z"),
                        "electionTime" : Timestamp(1543923115, 1),
                        "electionDate" : ISODate("2018-12-04T11:31:55Z"),
                        "configVersion" : 3,
                        "self" : true
                },
                {
                        "_id" : 1,
                        "name" : "192.168.17.223:27017",
                        "health" : 1,
                        "state" : 2,
                        "stateStr" : "SECONDARY",
                        "uptime" : 8427,
                        "optime" : {
                                "ts" : Timestamp(1543932576, 1),
                                "t" : NumberLong(8)
                        },
                        "optimeDurable" : {
                                "ts" : Timestamp(1543932576, 1),
                                "t" : NumberLong(8)
                        },
                        "optimeDate" : ISODate("2018-12-04T14:09:36Z"),
                        "optimeDurableDate" : ISODate("2018-12-04T14:09:36Z"),
                        "lastHeartbeat" : ISODate("2018-12-04T14:09:38.167Z"),
                        "lastHeartbeatRecv" : ISODate("2018-12-04T14:09:38.736Z"),
                        "pingMs" : NumberLong(0),
                        "syncingTo" : "192.168.17.52:27017",
                        "configVersion" : 3
                },
                {
                        "_id" : 2,
                        "name" : "192.168.17.49:27017",
                        "health" : 1,
                        "state" : 7,
                        "stateStr" : "ARBITER",
                        "uptime" : 10518,
                        "lastHeartbeat" : ISODate("2018-12-04T14:09:38.167Z"),
                        "lastHeartbeatRecv" : ISODate("2018-12-04T14:09:36.770Z"),
                        "pingMs" : NumberLong(0),
                        "configVersion" : 3
                }
        ],
        "ok" : 1,
        "operationTime" : Timestamp(1543932576, 1),
        "$clusterTime" : {
                "clusterTime" : Timestamp(1543932576, 1),
                "signature" : {
                        "hash" : BinData(0,"Ydlo0SyUlFlnZUfimAmGvrowuRs="),
                        "keyId" : NumberLong("6630712219715764225")
                }
        }
}

Дополнительная информация : Брандмауэр отключен на всех хостах.Имя хоста и IP-адрес были добавлены в файл hosts на всех серверах.

...