2011-01-04 4 views
5

Rozpocząłem 3 mongod proces każdego z różnych port z różnymi dbpath.pymongo.errors.OperationFailure: błąd

./bin/mongod --replSet foo/tauquir:27018,tauquir:27019 --rest 
./bin/mongod --port 27018 --dbpath /data/db1 --replSet foo/tauquir:27017 --rest 
./bin/mongod --port 27019 --dbpath /data/db2 --replSet foo/tauquir:27017 --rest 

Rozpoczęcie połączenia jak:

CONN = Connection("tauquir:27017", slave_okay=True) 
CONN.admin.command("replSetInitiate") 
CONN = Connection(["tauquir:27018", "tauquir:27019"]) 

Traceback Dostaję:

 CONN.admin.command("replSetInitiate") 
       File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9-py2.6-linux- 
     i686.egg/pymongo/database.py", line 293, in command msg, allowable_errors) 
       File "/usr/local/lib/python2.6/dist-packages/pymongo-1.9-py2.6-linux- 
    i686.egg/pymongo/helpers.py", line 119, in _check_command_response raise 
OperationFailure(msg % response["errmsg"]) 
      pymongo.errors.OperationFailure: command SON([('replSetInitiate', 1)]) failed: 

all members and seeds must be reachable to initiate set 

Odpowiedz

1

replSetInitiate jest poleceniem jeden raz, więc prawdopodobnie nie chcemy kodowane połączenie z pliku init , ale po tej linii musisz utworzyć instancję swojego klienta Pythona z informacjami o połączeniu dla wszystkich 3 serwerów Mongo.

W przykładzie wymieniasz zmienną CONN z połączenia tylko do 27018 i 27019

db = Connection(["tauquir:27017", "tauquir:27018", "tauquir:27019"]) 
Powiązane problemy