【问题标题】:Unable to connect to mongodb running on a remote machine无法连接到远程机器上运行的 mongodb
【发布时间】:2011-10-09 06:38:40
【问题描述】:

我在远程服务器上运行 mongodb。我可以通过 ssh 连接到远程服务器并从远程机器上的 shell 连接到 mongodb。但是我必须从我的 python 脚本连接到那个 mongodb 实例。 但是,我无法使用以下命令直接从运行 linux 的本地机器上的 shell 连接到 mongodb:

mongo <remote_ip>:27017

或者通过pymongo使用

connection = pymongo.Connection("<remote_ip>", 27017)

使用 pymongo 时出现以下错误:

Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "/usr/local/lib/python2.6/dist-packages/pymongo-1.11-py2.6-linux-i686.egg/pymongo/connection.py", line 370, in __init__
    self.__find_master()
  File "/usr/local/lib/python2.6/dist-packages/pymongo-1.11-py2.6-linux-i686.egg/pymongo/connection.py", line 605, in __find_master
    raise AutoReconnect("could not find master/primary")
AutoReconnect: could not find master/primary

什么可能导致这个问题?这是否意味着 mongo 正在 27017 以外的端口上运行,如果是这样,我如何找出它正在运行的端口?

请帮忙 谢谢你

【问题讨论】:

    标签: python mongodb pymongo


    【解决方案1】:

    您可以在运行 mongodb 的机器上使用 netstat -a -p 来查看它连接到哪个端口。 (netstat -a 列出所有连接,-p 提供拥有该连接的程序的名称。)还要确保远程计算机允许该端口上的外部连接(连接没有被防火墙阻止)以及 mongodb正在接受远程连接。

    【讨论】:

    • 请您详细说明使机器允许远程连接的过程
    猜你喜欢
    • 1970-01-01
    • 2019-02-15
    • 2015-12-05
    • 1970-01-01
    • 2018-11-12
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2019-01-02
    相关资源
    最近更新 更多