2013-02-13 17 views
7

Mam 3 demo mongody replikuje serwery uruchomione na moim komputerze. Użyłem następujące polecenie, aby utworzyć serwer replikowanego:Nazwa zestawu mongoDB nie pasuje

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

lubię tego mam test1 na porcie 27111, 27112 test2 na port i test3 na porcie 27113. Jednak w konfiguracji pojawia się błąd:

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 
} 

Co muszę zrobić, aby pasował?

Odpowiedz

9

Wszystkie zestawy, które chciałbym uruchomić, powinny mieć tę samą nazwę. Dla przykładu, jeśli uruchomię

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

Następnie pozostałe serwery Mongo ja zamierzam być w tym zbiorze, powinien mieć taką samą nazwę test2

0

Spróbuj wpisać nazwę swojego urządzenia lub 127.0.0.1. Najlepiej używać nazwy DNS.

+0

próbował {host: "127.0.0.1:1:27111"} i to nie działa. – sadaf2605

1

nazwa lub zmienna użyta w "cfg" = { "_id":="test1" }

powinien potwierdź, używając nazwy podanej poniżej dla parametru replSet dla wszystkich członków w tym zestawie replikacji.

Wtedy wszystko będzie działać płynnie na ciebie

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

Powodzenia

Rao

0

MongoDB replicaset nie akceptuje localhost. Spróbuj użyć rzeczywistą nazwę urządzenia podczas dodawania następująco węzła do replicaset:

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

Podczas dodawania zestawów replik The --replset powinna być taka sama dla wszystkich trzech. Na przykład jeśli dla pierwotnego było to "rs01", powinno być takie samo dla pozostałych dwóch.

0

Poniższe kroki pracował dla mnie:

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

Te dwie linie rozpoczynają dwa różne instancje Mongo w różnych portach. W drugiej instancji dodałem replSet = rs0 w mongod.conf.

Następnie dodać wtórnym w węźle rs0 przez to polecenie:

rs.add("localhost:27018") 
Powiązane problemy