Odpowiedzi:
Jeśli chcesz zachować dane, ale zaczynasz poza zestawem replik, po prostu zrestartuj proces mongod bez --replSet
i na innym porcie. To da ci samodzielnego mongoda.
Aby mieć całkowitą pewność, że konfiguracja zestawu replik zniknęła z instancji, upewnij się, że local.system.replset
kolekcja jest pusta.
Gdy to zrobisz i będziesz zadowolony z samodzielnej instancji, możesz ponownie uruchomić z inną --replSet
argumentem i ponownie przejść przez proces konfiguracji zestawu replik:
http://www.mongodb.org/display/DOCS/Replica+Set+Configuration
Inną opcją, jak wspomniałeś, jest usunięcie wszystkich plików danych i rozpoczęcie całkowicie od zera.
Nie trzeba usuwać żadnych plików bazy danych, aby zresetować konfigurację zestawu replik.
Aby zresetować konfigurację, upewnij się, że każdy węzeł w zestawie replik jest zatrzymany. Następnie usuń „lokalną” bazę danych dla każdego węzła.
Gdy masz pewność, że wszystkie węzły nie działają i nie ma już „lokalnej” bazy danych, uruchom ponownie proces mongod (oczywiście używając flagi --replSet). Następnie uruchom rs.initiate ().
Przejdź do powłoki mongo na serwerach pomocniczych
Zatrzymaj serwery pomocnicze za pomocą poniższego polecenia:
use admin
db.shutdownServer()
przejdź do podstawowej powłoki mongo i wpisz poniższe polecenia:
rs.remove()
aby sprawdzić status, użyj rs.status()
Aby uzyskać więcej informacji, sprawdź poniższy link: http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html
/etc/mongod.conf
i komentowaćreplication: block
service mongod restart
mongo local --eval "db.dropDatabase()"
service mongod stop
rs.add("this node")
/etc/mongod.conf
i odkomentujreplication: block
service mongod restart
Twój węzeł zostanie dodany do istniejącego zestawu replik i rozpocznie synchronizację z istniejącym podstawowym