2013-05-28 12 views
15

Polecenie uruchomienia zestawu replik w powłoce MongoDB to rs.initiate().Zestaw repliki zatrzymania MongoDB

Co jest przeciwieństwem tego polecenia. Jak zatrzymać zestaw replik?

Istnieją polecenia do rekonfiguracji zestawu lub usunięcia członków, ale nie ma sposobu, żebym wiedział, aby usunąć ostatniego członka i dlatego zniszczyć zestaw replik.

+1

Najpopularniejszym sposobem jest po prostu zatrzymanie 'mongod', ponieważ musisz ponownie uruchomić' mongod' bez opcji repliki, aby faktycznie uniemożliwić próbę użycia zestawu replik. – Sammaye

+0

Kiedy uruchamiam mongo po wykonaniu tej czynności, daje mi to ostrzeżenie: "OSTRZEŻENIE: mongod rozpoczęty bez --replSetal jeszcze 1 dokumenty są obecne w local.system.replset". Jak to posprzątać? –

+0

Powiązane pytanie: http://stackoverflow.com/q/10953752/490018 –

Odpowiedz

33

Wszystko zależy od tego, jaki jest Twój cel. Jeśli chcesz ponownie użyć istniejącej mongod jako samodzielny serwer zamiast członka zestawu replik następnie kroki, aby zrobić to: proces mongod

  1. Restart bez --replSet argument.
  2. Kropla lokalna baza danych:

    use local; 
    db.dropDatabase(); 
    
+0

To zadziwiająco dziękuję. –

+0

"errmsg": "Nie można upuścić" lokalnej "bazy danych, gdy replikacja jest aktywna" – alexserver

+1

musisz zrestartować serwer bez flagi --replSet, zanim będziesz mógł upuścić lokalny. –

0

1) Idź do Mongo powłokę na serwerach pomocniczych

2) Zatrzymać serwery pomocnicze przy użyciu poniżej polecenia:

użycie Administrator db .shutdownServer()

2] Przejdź do powłoki powłoki Linux na pomocniczych serwerach i wpisz poniżej komendę:

serwis sudo mongod zatrzymać

Aby uzyskać więcej informacji, proszę sprawdzić poniższy link:

http://www.learnit.net.in/2016/03/stopping-and-starting-mongodb.html

2

mam tylko ten problem w produkcji. Komentarz @ maganap (15 marca) uratował mi bekon!

Korzystanie MongoDB 3.2.10, nie ma potrzeby, aby zrzucić oplog, po prostu zrób to na pierwszym elemencie:

use local 
db.system.replset.remove({}) 

Następnie zrestartuj członka. Nadal będzie mieć swój oplog i jego dane. Po prostu uruchom:

rs.initiate() 
rs.reconfig(conf) 

Gdzie conf jest nowy conf. Następnie na każdym z pozostałych członków, po prostu uruchom usuwanie danych z powyższego zestawu i uruchom je ponownie. Gdy zaczną, dołączą do zestawu.

Powiązane problemy