sql >> Database teknologi >  >> NoSQL >> MongoDB

Sådan konverteres et MongoDB replikasæt til en selvstændig server

Fjern alle sekundære værter fra replikasæt (rs.remove('host:port')), genstart mongo-dæmonen uden replSet-parameter (redigering /etc/mongo.conf), og de sekundære værter starter i selvstændig tilstand igen.

Den primære vært er vanskelig, fordi du ikke kan fjerne den fra replikasættet med rs.remove. Når du kun har den primære node i replikasættet, bør du afslutte mongo-shell og stoppe mongo. Derefter redigerer du /etc/mongo.conf og fjerner parameteren replSet og starter mongo igen. Når du starter mongo, er du allerede i selvstændig tilstand, men mongo-skallen vil bede en besked som:

2015-07-31T12:02:51.112+0100 [initandlisten] ** ADVARSEL:mongod startede uden --replSet endnu 1 dokumenter er til stede i local.system.replset

for at fjerne advarslen kan du udføre 2 procedurer:1) Slet den lokale db og genstart mongo:

use local
db.dropDatabase();

/etc/init.d/mongod restart

2)Eller hvis du ikke vil være så radikal, kan du gøre:

use local
db.system.replset.find()

og det vil bede en besked som:

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

så vil du slette det ved at bruge:

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

og det vil sandsynligvis bede:

WriteResult({ "nRemoved" : 1 })

Nu kan du genstarte mongoen, og advarslen skulle være væk, og du vil have din mongo i selvstændig tilstand uden advarsler



  1. MongoDB og C#:Uafhængig søgning

  2. Hvordan gør jeg mere end/mindre end at bruge MongoDB?

  3. Hvordan flytter jeg en redis-database fra en server til en anden?

  4. Flaske:videresende baggrundsarbejderjob (rq, redis)