2013-05-28 13 views
15

Il comando per avviare un set di replica nella shell MongoDB è rs.initiate().Stop Replica Set MongoDB

Qual è l'opposto di questo comando. Come posso interrompere il set di repliche?

Ci sono comandi per riconfigurare il set o rimuovere membri, ma non so come disattivare l'ultimo membro e quindi distruggere il set di repliche.

+1

Il modo più comune è arrestare il 'mongod', poiché è necessario riavviare' mongod' senza l'opzione di replica per impedirgli effettivamente di provare a utilizzare il set di repliche. – Sammaye

+0

Quando avvio Mongo dopo averlo fatto, mi dà questo avviso: "ATTENZIONE: mongod è stato avviato senza --replSet ancora 1 documenti sono presenti in local.system.replset". Come pulisco questo? –

+0

Domanda correlata: http://stackoverflow.com/q/10953752/490018 –

risposta

33

Tutto dipende da qual è il tuo obiettivo. Se si desidera riutilizzare l'esistente mongod come server autonomo, piuttosto che un membro di set di repliche poi i passi da fare sarebbe: processo mongod

  1. Restart senza --replSet argomento.
  2. goccia il database locale:

    use local; 
    db.dropDatabase(); 
    
+0

Questo ha funzionato meravigliosamente grazie. –

+0

"errmsg": "Impossibile rilasciare il database 'locale' mentre la replica è attiva" – alexserver

+1

è necessario riavviare il server senza --replSet flag prima di poter rilasciare locale. –

0

1) Vai mongo shell sul server secondari

2) Arrestare il server secondari utilizzando sotto comando:

uso di amministrazione db .shutdownServer()

2] Accedere ai server secondari shell-on Linux e digitare il comando seguente:

servizio sudo mongod fermare

Per ulteriori informazioni, controllare prego il collegamento qui sotto:

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

2

mi resta che questo problema in produzione. Il commento di @ maganap (15 marzo) mi ha salvato il bacon!

Utilizzando MongoDB 3.2.10, non c'è bisogno di scaricare l'oplog, basta fare questo sul primo membro:

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

quindi riavviare il membro. Ora avrà ancora il suo oplog e i suoi dati. Basta eseguire:

rs.initiate() 
rs.reconfig(conf) 

Dove conf è il nuovo conf. Quindi su ciascuno degli altri membri, esegui semplicemente il cestino dei dati replset sopra e riavviali. Quando iniziano si uniranno al set.

Problemi correlati