2011-07-20 20 views
2

リモートサーバでmongodbを実行しています。私はリモートサーバにsshし、リモートマシンのシェルからmongodbに接続することができます。しかし、私はPythonスクリプトからそのmongodbインスタンスに接続する必要があります。 はしかし、私のローカルマシンはコマンドを使用してLinuxを実行している上、シェルから直接にMongoDBに接続することができませんでしイム:pymongoを使用した場合リモートマシン上で動作しているmongodbに接続できません

mongo <remote_ip>:27017 

またはpymongoて

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

を使用して、私は以下のエラーが表示されます。

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以外のポートで動作していることを意味していますか?もしそうなら、どうすればそれが動作しているポートを見つけることができますか?

助けてください

はあなたが

答えて

4

あなたはそれが接続何ポートを参照して実行しているマシンのMongoDBにnetstat -a -pを使用することができますありがとうございました。 (netstat -aはすべての接続をリストし、-pは接続を所有するプログラムの名前を提供します)また、リモートコンピュータがそのポートで外部接続を許可していること(ファイアウォールによって接続がブロックされていないこと)およびmongodbがリモート接続。

+1

リモート接続を許可するマシンを作成する手順を詳しく教えてください – TharunRaja

関連する問題