ReplicaSet только с 2 узлами

у меня есть два сервера с экземпляром монго каждый.

На первом сервере я установил экземпляр монго как первичный, а на втором монго — как вторичный.

У меня нет возможности взять другой сервер, чтобы сделать его арбитром.

Как я могу использовать mongodb только с двумя серверами?

Если первичный выходит из строя, вторичный автоматически становится первичным?

Спасибо!


person JackTurky    schedule 07.05.2014    source источник
comment
Вы можете смоделировать ситуацию с первичной неисправностью и посмотреть, что произойдет.   -  person u_mulder    schedule 07.05.2014


Ответы (2)


Как я могу использовать mongodb только с двумя серверами?

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

Таким образом, несмотря на то, что с двумя участниками вы можете учитывать один отказоустойчивость, вы не можете учитывать оба в равной степени.

person Sammaye    schedule 07.05.2014

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

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

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

person Andrei Beziazychnyi    schedule 07.05.2014