Usuń wszystkie hosty drugorzędne z zestawu replik (rs.remove('host:port')), uruchom ponownie demona mongo bez parametru replSet (edytując /etc/mongo.conf), a hosty drugorzędne ponownie uruchomią się w trybie autonomicznym.
Host podstawowy jest trudny, ponieważ nie możesz go usunąć z zestawu replik za pomocą rs.remove. Gdy masz tylko węzeł podstawowy w zestawie replik, powinieneś wyjść z powłoki mongo i zatrzymać mongo. Następnie edytujesz plik /etc/mongo.conf i usuwasz parametr replSet i ponownie uruchamiasz mongo. Po uruchomieniu mongo jesteś już w trybie autonomicznym, ale powłoka mongo wyświetli komunikat:
2015-07-31T12:02:51.112+0100 [initandlisten] ** UWAGA:mongod wystartował bez --replSet jeszcze 1 dokumenty są obecne w local.system.replset
aby usunąć ostrzeżenie, możesz wykonać 2 procedury:1) Usunięcie lokalnej bazy danych i ponowne uruchomienie mongo:
use local
db.dropDatabase();
/etc/init.d/mongod restart
2)Jeśli nie chcesz być tak radykalny, możesz zrobić:
use local
db.system.replset.find()
i wyświetli komunikat taki jak:
{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }
następnie usuniesz go za pomocą:
db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })
i prawdopodobnie wyświetli monit:
WriteResult({ "nRemoved" : 1 })
Teraz możesz ponownie uruchomić mongo, a ostrzeżenie powinno zniknąć, a mongo będzie działać samodzielnie bez ostrzeżeń