как заставить сделать экземпляр репликации mongodb из вторичного в первичный - PullRequest
0 голосов
/ 22 мая 2018

У меня есть монго 1 в качестве основного (приоритет 3), монго 2 (приоритет 2), монго 3 (приоритет 1).У меня есть mongo 1 и mongo2 в одном регионе, и я должен закрыть оба экземпляра, чтобы автоматически проверить, становится ли mongo3 первичным, но это не так.Я мог видеть, что mongo1 и mongo2 недоступны, а mongo 3 по-прежнему вторичен.Как я могу сделать монго 3 в качестве основного.

1 Ответ

0 голосов
/ 22 мая 2018

mongo 3 в вашем эксперименте никогда не станет первичным, потому что он не может видеть большую часть кворума.Для того, чтобы член набора реплик стал основным, основным критерием является то, что он является частью группы большинства, в противном случае он будет думать, что он отключен от группы большинства (или Сетевой раздел - P вТеорема CAP) и, следовательно, остается второстепенным, чтобы избежать принятия любых записей от клиентов.

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

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