Как восстановить поврежденный кластер MongoDB?

У меня были проблемы с набором реплик MongoDB моего сегментированного кластера. Текущее состояние узлов:

  • узел1: основной (но, по-видимому, на него наложено вето узел3, который должен синхронизироваться)
  • узел2: откат (раньше это был основной)
  • узел 3: не может синхронизироваться
  • узел4: задержанное ведомое в настоящее время восстанавливается
  • узел5: арбитр

Кажется, в документации сказано, что мне нужно дождаться завершения отката и восстановить или нет дамп на новом первичном сервере. Но node2 уже выполняет откат в течение получаса, и мне интересно, он застрял?

Какие шаги я должен следовать? Можете ли вы дать мне некоторое представление о способе восстановления отката-дампа на новом первичном сервере?

Большое спасибо,

Грег.

1 ответ

Решение

Я позволил node2 выполнить откат в течение 2 часов, а затем остановил его. Я не смог найти каталог отката в dbpath...

Поскольку процессы, питающие БД, имеют внутренний буферный механизм, они могут повторно передавать последние данные. Таким образом, в случае потери данных, я могу восстановить их снова.

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

Грег.

Другие вопросы по тегам