Проблема конфигурации набора реплик mongodb - PullRequest
0 голосов
/ 26 сентября 2018

Я сталкиваюсь с некоторыми проблемами при попытке выполнить следующее:

с трехузловым кластером MongoDB 4.0, без шардинга, один экземпляр mongodb в качестве основного, остальные - вторичные.когда я выключаю первичный, один из вторичных серверов становится главным, другой остается таким же, когда я выключаю новый первичный (бывший вторичный), оставшийся вторичный не становится главным, поэтому кластер остается неработоспособным

В соответствии с документацией, я следовал инструкциям, поэтому должна быть какая-то конфигурация, которую я забылЯ даже меняю порядок создания, всегда получаю один и тот же результат

Что я делаю не так?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2018

Для процесса выбора необходимо «большинство», чтобы выбрать ПЕРВИЧНЫЙ, например, если у вас 2 узла по сравнению с 3, не будет большинства узлов, чтобы выбрать новый ПЕРВИЧНЫЙ, поэтому 3-й узел останется во ВТОРИЧНОМ, пока вы не запустите хотя бы один издругие члены.

0 голосов
/ 26 сентября 2018

MongoDB не может автоматически переключаться при отказе одного участника, это связано с тем, как выборы работают.

Если логически подумать об этом, если между основным и сетевым разделами был сетевой разделвторостепенный, как кто-то из них узнает, что один или другой не работает ... так что они оба уйдут, чтобы стать вторичными, пока один или другой не увидят большую часть узла.

https://docs.mongodb.com/manual/core/replica-set-elections/#network-partition

Сетевой раздел может разделить первичный раздел на раздел с меньшим количеством узлов.Когда первичный обнаруживает, что он может видеть только меньшинство узлов в наборе реплик, первичный понижается как первичный и становится вторичным.Независимо от этого член в разделе, который может связываться с большинством узлов (включая себя), проводит выборы, чтобы стать новым основным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...