2011-07-20 6 views
2

J'ai mongodb en cours d'exécution sur un serveur distant. Je peux ssh au serveur distant et me connecter à mongodb à partir du shell sur la machine distante. Cependant, je dois me connecter à cette instance mongodb de mon script python. Cependant, im incapable de se connecter à MongoDB directement à partir du shell sur ma machine locale linux en cours d'exécution en utilisant la commande:Impossible de se connecter à mongodb s'exécutant sur une machine distante

mongo <remote_ip>:27017 

ou par pymongo en utilisant

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

j'obtiens l'erreur ci-dessous lors de l'utilisation 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 

Ce qui pourrait être à l'origine de ce problème? Cela signifie-t-il que mongo fonctionne sur un port autre que 27017 et si oui, comment puis-je savoir sur quel port il fonctionne?

S'il vous plaît Aide Merci Vous

Répondre

4

Vous pouvez utiliser netstat -a -p sur la machine mongodb courir pour voir quel port il est attaché. (netstat -a liste toutes les connexions et -p fournit le nom du programme propriétaire de la connexion.) Vérifiez également que l'ordinateur distant autorise les connexions externes sur ce port (les connexions ne sont pas bloquées par un pare-feu) et que mongodb accepte les connexions distantes .

+1

Pourriez-vous élaborer sur la procédure de fabrication des machines permettant les connexions à distance – TharunRaja

Questions connexes