2011-01-04 12 views
5

Comencé 3 mongod proceso cada uno en port diferente con dbpath diferente.pymongo.errors.OperationFailure: error

./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 

Comienza la conexión como:

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

Rastreo estoy recibiendo:

 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 

Respuesta

1

replSetInitiate es un comando de una vez por lo que probablemente no desea que estará con su conexión init , pero después de esa línea necesita crear una instancia de su cliente python con información de conexión para los 3 servidores mongod.

En su ejemplo va a sustituir la variable de CONN con una conexión única a 27018 y 27019

db = Connection(["tauquir:27017", "tauquir:27018", "tauquir:27019"])