Entfernen Sie alle sekundären Hosts aus dem Replikatsatz (rs.remove('host:port')), starten Sie den Mongo-Daemon ohne replSet-Parameter neu (Bearbeiten von /etc/mongo.conf) und die sekundären Hosts starten wieder im Standalone-Modus.
Der primäre Host ist schwierig, da Sie ihn nicht mit rs.remove aus dem Replikatsatz entfernen können. Sobald Sie nur den primären Knoten im Replikatsatz haben, sollten Sie die Mongo-Shell beenden und Mongo stoppen. Dann bearbeiten Sie die /etc/mongo.conf und entfernen den replSet-Parameter und starten Mongo erneut. Sobald Sie Mongo starten, befinden Sie sich bereits im Standalone-Modus, aber die Mongo-Shell zeigt eine Meldung wie:
an2015-07-31T12:02:51.112+0100 [initandlisten] ** WARNUNG:Mongod wurde ohne --replSet gestartet, dennoch sind 1 Dokumente in local.system.replset
vorhandenUm die Warnung zu entfernen, können Sie zwei Verfahren ausführen:1) Löschen der lokalen Datenbank und Neustarten von Mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2) Oder wenn Sie nicht so radikal sein wollen, können Sie Folgendes tun:
use local
db.system.replset.find()
und es wird eine Nachricht angezeigt wie:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
dann löschen Sie es mit:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
und es wird wahrscheinlich auffordern:
WriteResult({ "nRemoved" : 1 })
Jetzt können Sie den Mongo neu starten und die Warnung sollte weg sein, und Sie werden Ihren Mongo ohne Warnungen im Standalone-Modus haben