репликация mongodb: никакое основное устройство не избрано

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

2
задан 7 July 2012 в 10:38
1 ответ

Причина, по которой ваша первичная выборка больше не является первичной, заключается в том, что вам нужно иметь достаточно голосов, чтобы сформировать большинство в набор реплик - в вашем случае это означает минимум 2/3. С вашей конкретной ошибкой, которая, кажется, не имеет смысла, но представьте вместо этого, что рассматриваемый первичный компонент вместо этого стал изолированным от 2 вторичных (например, сетевое событие). В этом случае вы не захотите, чтобы были выбраны два праймериз, поэтому вместо этого он уйдет, пока не увидит других членов набора.

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

  1. Восстановите другие элементы набора
  2. Измените конфигурацию набора так, чтобы можно было сформировать большинство (добавьте больше членов, перейдите к одному)

См. Здесь для получения дополнительной информации о параметре реконфигурации:

http: // www. mongodb.org/display/DOCS/Reconfiguring+a+replica+set+when+members+are+down

По сути, ваш набор реплик будет работать при отказе, но у вас должно быть достаточно членов, чтобы действительно провести выборы.

Что касается того, почему умерли вторичные компоненты, я не могу сказать, основываясь на информации, которую вы здесь предоставили, но могу сказать вам, что это не потому, что они были слишком устаревшими. Вторичный сервер, который слишком сильно отстает, будет сообщать, что он устарел, но будет продолжать работать (и голосовать за первичный) даже в этом состоянии, пока вы не исправите его и не обновите его. См. Здесь, как исправить устаревший член набора:

http://www.mongodb.org/display/DOCS/Resyncing+a+Very+Stale+Replica+Set+Member

4
ответ дан 3 December 2019 в 10:11

Теги

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