mongoDB,连接拒绝

Goi*_*Way 6 java mongodb

显示我的代码

conf.set( "mongo.input.uri" , "mongodb://127.0.0.1/stackoverflow.mrtest" );
conf.set( "mongo.output.uri" , "mongodb://127.0.0.1/stackoverflow.mrtest_out2" );
Run Code Online (Sandbox Code Playgroud)

当主机是localhost或时,代码运行没有错误127.0.0.1.但是当主机更改为我的ip wlan0时192.168.1.102,它返回了以下错误

Cluster created with settings {hosts=[192.168.1.102:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms', maxWaitQueueSize=500}
Exception in monitor thread while connecting to server 192.168.1.102:27017
com.mongodb.MongoSocketOpenException: Exception opening socket
    at com.mongodb.connection.SocketStream.open(SocketStream.java:63)
    at com.mongodb.connection.InternalStreamConnection.open(InternalStreamConnection.java:114)
    at com.mongodb.connection.DefaultServerMonitor$ServerMonitorRunnable.run(DefaultServerMonitor.java:127)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: connection refused
    at java.net.PlainSocketImpl.socketConnect(Native Method)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at com.mongodb.connection.SocketStreamHelper.initialize(SocketStreamHelper.java:50)
    at com.mongodb.connection.SocketStream.open(SocketStream.java:58)
    ... 3 more
Run Code Online (Sandbox Code Playgroud)

我打开了端口27017.

sudo iptables -A INPUT -ptcp --dport 27017 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

我的操作系统是Ubuntu 14.04.

我该如何解决?谢谢!

Onu*_*nur 7

默认情况下,MongoDB仅绑定到loopback接口,这使得它只能从localhost访问.要更改它,您需要在mongod.conf文件中编辑此行;

# /etc/mongod.conf

# Listen to local interface only. Comment out to listen on all interfaces.
bind_ip = 127.0.0.1
Run Code Online (Sandbox Code Playgroud)

您可以将其更改bind_ip = 127.0.0.1,192.168.1.102为允许LAN和本地连接,或者您可以删除或注释掉该行以允许所有连接.

有关详细信息:MongoDB - 允许远程访问