pymongo.errors.OperationFailure:

2024-04-30 11:59:07 发布

您现在位置:Python中文网/ 问答频道 /正文

我用不同的dbpath在不同的port上启动了3mongod进程。在

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

已将连接启动为:

^{pr2}$

我得到的回溯:

     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

Tags: restdatabinfooportusrlocalcommand
1条回答
网友
1楼 · 发布于 2024-04-30 11:59:07

replSetInitiate是一个一次性的命令,因此您可能不希望用connectioninit编码,但是在这行代码之后,您需要用所有3个mongod服务器的连接信息来实例化python客户机。在

在您的示例中,您将用仅与27018和27019的连接替换CONN变量

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

相关问题 更多 >