Как полностью удалить набор реплик mongoDB?

Как полностью удалить набор реплик mongoDB?

У меня есть кластер mongoDB с 4 различными наборами реплик. Недавно 2 машины вышли из строя невосстановимым образом, данные на них полностью утеряны. К сожалению, на этих 2 хостах был установлен 1 набор реплик.

Проблема, с которой я столкнулся, заключается в том, что конфигурация по-прежнему указывает на то, что некоторые данные находятся на хостах этого набора реплик, и когда клиентское приложение пытается прочитать данные из этой коллекции, в которой есть фрагменты на этой машине, оно возвращает эту ошибку:

Не удалось найти хост, соответствующий настройке чтения { mode: "primary" } для set replicaSetShardServer4

Что имеет смысл, поскольку эти два сервера исчезли.

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

решение1

Измените файл конфигурации и строки комментариев.

replication:
   replSetName: ...

Перезапустите службу Mongo. Подключитесь к узлу и сбросьте localбазу данных.

db.getSiblingDB('local').dropDatabase() 

Этим вы возвращаете ReplicaSet обратно в Stand-alone MongoDB. После этого вы можете снова настроить ReplicaSet, см.:Преобразовать автономный mongod в набор реплик

Посмотрите такжеВосстановление набора реплик из резервных копий MongoDB, процедура та же самая, что и в вашем случае, за исключением первого шага «Получить резервные копии файлов базы данных MongoDB» — этот шаг, конечно, не нужен.

Связанный контент