Невозможно подключиться к mongodb, запущенному на удаленной машине - PullRequest
2 голосов
/ 20 июля 2011

У меня mongodb работает на удаленном сервере.Я могу SSH к удаленному серверу и подключиться к Mongodb из оболочки на удаленной машине.Однако я должен подключиться к этому экземпляру mongodb из моего скрипта Python.Тем не менее, я не могу подключиться к mongodb напрямую из оболочки на моем локальном компьютере под управлением Linux, используя команду:

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, и если да, то как я могу узнать, на каком порту он работает?

Пожалуйста, помогите Спасибо

1 Ответ

4 голосов
/ 20 июля 2011

Вы можете использовать netstat -a -p на машине с mongodb, чтобы увидеть, к какому порту он подключен. (netstat -a перечисляет все соединения, а -p предоставляет имя программы, владеющей соединением.) Также убедитесь, что удаленный компьютер разрешает внешние соединения через этот порт (соединения не блокируются брандмауэром) и что mongodb принимает удаленные подключения.

...