2013-02-13 12 views
7

Ich habe 3 Mongod-Demo-Replikate Server auf meinem Rechner laufen. Ich habe folgenden Befehl verwendet replizierten Server zu erstellen:MongoDB-Set-Name passt nicht

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

Mag ich auf 27111 Port Test1 haben, test2 auf 27112 Hafen und test3 auf 27113 Port. Aber bei der Konfiguration bekomme ich einen Fehler:

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 
} 

Nun, was muss ich tun, damit es übereinstimmt?

Antwort

9

Alle Sätze, die ich ausführen würde, sollten den gleichen Namen haben. Für eine Instanz, wenn ich

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

Dann werden die anderen Mongo-Server Ich würde beabsichtigen, laufen in diesem Satz zu sein, sollte den gleichen Namen haben test2

0

Versuchen Sie es mit dem Namen Ihres Computers oder 127.0.0.1. Es empfiehlt sich, den DNS-Namen zu verwenden.

+0

versucht {host: "127.0.0.1:1:27111"} und es funktioniert nicht. – sadaf2605

1

Der Name oder die verwendete Variable in "cfg" = { "_id":="test1" }

sollte Bestätigen Sie mit dem Namen, der im Folgenden für den Parameter replSet für alle Mitglieder in diesem Replikationssatz verwendet wird.

Dann werden die Dinge reibungslos funktionieren für Sie

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

Viel Glück

Rao

0

MongoDB replicaset nicht localhost akzeptiert. Versuchen Sie, die aktuellen Maschinennamen beim Hinzufügen des Knotens zum replicaset, wie folgend:

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

Wenn die Replikatsätzen Zugabe sollte die --replset für alle drei gleich sein. Zum Beispiel, wenn für primäre es "rs01" war, sollte es auch für andere zwei gleich sein.

0

Die folgenden Schritte für mich gearbeitet:

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

Diese beiden Linien zwei verschiedene Mongo Instanzen in verschiedenen Häfen starten. Bei der zweiten Instanz habe ich replSet = rs0 in mongod.conf hinzugefügt.

Fügen Sie dann die sekundäre in rs0 Knoten durch diesen Befehl:

rs.add("localhost:27018")