Jak zresetować ustawienia zestawu repliki MongoDB

16

Chcę zacząć od konfiguracji repliki, czy to możliwe? Jak to zresetować?

W grupie ludzie mówią, aby usunąć zawartość bazy danych, ale czy są jakieś obejścia?

Ryan
źródło

Odpowiedzi:

19

Jeśli chcesz zachować dane, ale zaczynasz poza zestawem replik, po prostu zrestartuj proces mongod bez --replSeti 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.

Adam C.
źródło
// uruchom serwer na innym porcie niż przydzielony, ale z tym samym folderem Db. połączyć za pomocą klienta mongoi z nowym portem: użyj lokalnego db.system.replset.remove ({"_ id": "replset"}) // zmienić replset w cudzysłowie na swoje imię? db.system.replset.find () db.adminCommand ({shutdown: 1}) // następnie uruchom ponownie na innym porcie
tgkprog
5

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 ().

akskung
źródło
4
  1. Przejdź do powłoki mongo na serwerach pomocniczych

  2. Zatrzymaj serwery pomocnicze za pomocą poniższego polecenia:

    use admin
    db.shutdownServer()
    
  3. 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

Shrinivas Kalangutkar
źródło
1
  1. edytować /etc/mongod.confi komentowaćreplication: block
  2. service mongod restart
  3. mongo local --eval "db.dropDatabase()"
  4. service mongod stop
  5. na mongo podstawowym: rs.add("this node")
  6. edytuj /etc/mongod.confi odkomentujreplication: block
  7. service mongod restart

Twój węzeł zostanie dodany do istniejącego zestawu replik i rozpocznie synchronizację z istniejącym podstawowym

blueheart_2
źródło