2013-02-13 13 views
7

Ho tre server di replica demo mongod in esecuzione sulla mia macchina. Ho usato seguente comando per creare server replicato:Il nome del set di mongoDB non corrisponde a

F:\>mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

come non ho test1 su 27111 porta, test2 su 27112 porto e test3 su 27113 porta. Eppure alla configurazione sto ricevendo un errore:

cfg = { 
     "_id" : "test1", 
     "members" : [ 
       { 
         "_id" : 0, 
         "host" : "localhost:27111" 
       }, 
       { 
         "_id" : 1, 
         "host" : "localhost:27112" 
       }, 
       { 
         "_id" : 2, 
         "host" : "localhost:27113" 
       } 
     ] 
} 
> rs.initiate(cfg) 
{ 
     "errmsg" : "couldn't initiate : set name does not match the set name host localhost:27112 expects", 
     "ok" : 0 
} 

Ora che cosa devo fare per farlo corrispondere?

risposta

9

Tutti i set che avrei eseguito dovrebbero avere lo stesso nome. Per un esempio se corro

mongod --replSet test2 --dbpath 2 --port 27112 --oplogSize 50 --logpath log.2 --logappend 
all output going to: log.2 

Poi gli altri server mongo mi intendo essere in quel gruppo, dovrebbe avere lo stesso nome test2

0

Provare con il nome della macchina o 127.0.0.1. È consigliabile utilizzare il nome DNS.

+0

provato {host: "127.0.0.1:1:27111"} e non funziona. – sadaf2605

1

Il nome o variabile usata in "cfg" = { "_id":="test1" }

dovrebbe confermare con il nome utilizzato in seguito per il parametro replSet per tutti i membri in tale set di replica.

Poi le cose funzioneranno senza problemi per voi

"start mongod --replSet "test1" --logpath "1.log" --dbpath C:\Replica\rs01 --port 27017 --oplogSize 64 

Buona fortuna

Rao

0

MongoDB replicaset non accetta localhost. Prova utilizzando il nome effettivo del computer durante l'aggiunta del nodo al replicaset come segue:

rs.add("MY_MACHINE_NAME:27017"); 
0

Aggiungendo i set di repliche, il --replset dovrebbe essere uguale per tutti e tre. Ad esempio se per primario era "rs01", dovrebbe essere lo stesso anche per gli altri due.

0

Le fasi che seguono funzionato per me:

mongod --port 27017 --dbpath "C:\MongoDB\data01" --replSet rs0 --bind_ip localhost 
mongod --port 27018 --dbpath "C:\MongoDB\data02" --replSet rs0 --bind_ip localhost 

Queste due linee avviare due istanze mongo diverse nei vari porti. Nella seconda istanza, ho aggiunto replSet = rs0 in mongod.conf.

Poi aggiungere il nodo secondario RS0 da questo comando:

rs.add("localhost:27018") 
Problemi correlati