Я работаю с сегментированным кластером MongoDB (2.4.10), у которого до сих пор установлена только 1 реплика. Я запустил db.repairDatabase () на монго.
С этим я мог бы освободить место на основном узле. Но не на вторичных. Должен ли я запускать его на каждом члене набора реплик?
Спасибо,
Грег.
Да. Вы захотите остановить вторичный процесс mongo, закомментировать параметры конфигурации реплики (replSet, keyFile и т.д.), запустить процесс mongo, затем войти в систему и выполнить восстановление. По завершении остановите процесс mongod, верните конфигурацию к исходным настройкам и запустите mongod. Предполагается, что у вас есть развертывание из трех участников с правильным голосованием и т. Д.
Другой вариант - просто повторно синхронизировать вторичный (ожидание вашего журнала операций достаточно долго):
http://docs.mongodb.org/manual/tutorial/resync-replica-set-member/