2017-06-30 15 views
0

Ubuntu 16.04にmongoDB(3.4.5)を新規インストールしました。Mongodb javaドライバの接続タイムアウト

Pythonドライバに正常に接続できますが、私のJavaドライバは接続タイムアウトの例外を返し続けます。

com.mongodb.MongoSocketOpenException: Exception opening socket 
at com.mongodb.connection.SocketStream.open(SocketStream.java:63) ~[mongodb-driver-core-3.4.2.jar:?] 
at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:115) ~[mongodb-driver-core-3.4.2.jar:?] 
at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:113) ~[mongodb-driver-core-3.4.2.jar:?] 
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_121] 
Caused by: java.net.SocketTimeoutException: connect timed out 
at java.net.PlainSocketImpl.socketConnect(Native Method) ~[?:1.8.0_121] 
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) ~[?:1.8.0_121] 
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:204) ~[?:1.8.0_121] 
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) ~[?:1.8.0_121] 
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) ~[?:1.8.0_121] 
at java.net.Socket.connect(Socket.java:589) ~[?:1.8.0_121] 
at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:57) ~[mongodb-driver-core-3.4.2.jar:?] 
at com.mongodb.connection.SocketStream.open(SocketStream.java:58) ~[mongodb-driver-core-3.4.2.jar:?] 
... 3 more 

私は、次の設定オプションを使用してモンゴDBを開始しました:

{ config: "/etc/mongod.conf", net: { bindIp: "0.0.0.0", port: 27017 }, 
storage: { dbPath: "/var/lib/mongodb", journal: { enabled: true } }, 
systemLog: { destination: "file", logAppend: true, path: "/var/log/mongodb/mongod.log", quiet: true } } 

そして、私のJavaクラスでは、私が持っている:

MongoClient mongoClient = new MongoClient(host:"0.0.0.0", port:27017);

私は、Telnet、そのポートを使用してチェックしています27017にアクセスできます。それ以外の理由で接続のタイムアウトが発生しているかどうかはわかりません。私は本当に助けを感謝します。

ありがとうございました。

+0

[MongoClient()]のドキュメントページ(http://mongodb.github.io/mongo-java-driver/3.4/javadoc/com/mongodb/MongoClient.html)を参照してください。あなたは有効な引数を渡していません。 'new MongoClient(" 0.0.0.0 "、27017)'または ''新しいMongoClient( "0.0.0.0")でなければなりません。なぜなら、 '27017'がデフォルトのポートであり、とにかく使用されるからです。 –

+0

ああ、新しいMongoClient( "0.0.0.0"、27017)は私がそれをどのように渡したかです。私のエディタは引数名を表示するように設定されているので、 'ホスト'と 'ポート'がそのように表示されます。 –

答えて

1

送信ポート27017がブロックされていることに関するいくつかの問題がありました。そのポートを開くためのファイアウォールルールを追加することで問題が解決されました。

+0

は、mongo db serverでオープンするために必要なアウトバウンドポートでしたか? –

関連する問題