Mongodb продолжает не сообщать “ни о каком основном устройстве, найденном”, но оболочка хорошо работает

Я не на 100% уверен в ответе на этот вопрос, но я предполагаю, что это к также:

  • Отобразите правильный заголовок в строке заголовка
  • Видеть, существует ли закрытый ключ, установленный для этого хоста.
3
задан 20 February 2013 в 12:35
2 ответа

Это цитата из http://docs.mongodb.org/manual/core/replication/

The minimum requirements for a replica set include two members with data, 
for a primary and a secondary, and an arbiter. In most circumstances, 
however, you will want to deploy three data members.

Вы не соответствуете установленным минимальным требованиям.

0
ответ дан 3 December 2019 в 07:32

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

Другое дело ваша установка - наличие арбитра с единственным узлом ничего вам не дает и фактически делает ваш набор менее надежным, чем более стабильным.

Сценарий 1: арбитр отключается / отключен

  • Первичный узел - единственный оставшийся узел, который проголосовал за себя
  • 1/2 голосов не является большинством, поэтому первичный не может быть избран и становится второстепенным
  • Ваш набор отключен и не может принимать записи

Сценарий 2: основной сервер отключается / отключен

  • Нет узла с данными, арбитр не может голосовать за себя
  • 0/2 голосов, фактических узлов данных нет, ваш набор отключен.

Как видите, вам было бы лучше с одним основным узлом, потому что все, что делает арбитр, это вводит способ, которым ваш набор будет недоступен, когда основной работает нормально. Другой вариант, конечно же, - добавить вторичный и перейти к 3 узлам - тогда вы действительно получите преимущества избыточности набора реплик.

1
ответ дан 3 December 2019 в 07:32

Теги

Похожие вопросы