sql >> Databáze >  >> NoSQL >> MongoDB

Jak převést sadu replik MongoDB na samostatný server

Odeberte všechny sekundární hostitele ze sady replik (rs.remove('host:port')), restartujte démona mongo bez parametru replSet (úpravou /etc/mongo.conf) a sekundární hostitelé se znovu spustí v samostatném režimu.

Primární hostitel je ošemetný, protože jej nemůžete odstranit ze sady replik pomocí rs.remove. Jakmile budete mít v sadě replik pouze primární uzel, měli byste opustit mongo shell a zastavit mongo. Poté upravíte /etc/mongo.conf a odstraníte parametr replSet a spustíte mongo znovu. Jakmile spustíte mongo, jste již v samostatném režimu, ale mongo shell zobrazí zprávu jako:

2015-07-31T12:02:51.112+0100 [initandlisten] ** VAROVÁNÍ:mongod začal bez --replSet, ale v local.system.replset je přítomen 1 dokument

k odstranění varování můžete provést 2 postupy:1) Zrušte místní databázi a restartujte mongo:

use local
db.dropDatabase();

/etc/init.d/mongod restart

2)Nebo pokud nechcete být tak radikální, můžete:

use local
db.system.replset.find()

a zobrazí se zpráva jako:

{ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] }

poté jej vymažete pomocí:

db.system.replset.remove({ "_id" : "replicaSetName", "version" : 1, "members" : [ { "_id" : 0, "host" : "hostprimary:mongoport" } ] })

a pravděpodobně se zobrazí výzva:

WriteResult({ "nRemoved" : 1 })

Nyní můžete mongo restartovat a varování by mělo zmizet a vy budete mít mongo v samostatném režimu bez varování



  1. Dotazování na rozsah v Redis - Spring Data Redis

  2. Jak zjistím datum vytvoření kolekce MongoDB pomocí ovladače MongoDB C#?

  3. Složené dotazy s Redis

  4. Top 10 funkcí Big Data Hadoop