mongoDB, соединение отказано

2

Показать мой код

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" );

код запускается без ошибок, если хост является 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

Я открыл порт 27017.

sudo iptables -A INPUT -ptcp --dport 27017 -j ACCEPT

Моя ОС - Ubuntu 14.04.

Как его исправить? Спасибо!

  • 0
    Возможно, ваш брандмауэр перехватывает это? Или mangodb связан только с интерфейсом обратной связи.
Теги:

1 ответ

3
Лучший ответ

По умолчанию 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

вы можете изменить его на bind_ip = 127.0.0.1,192.168.1.102 чтобы разрешить локальные и локальные подключения, или вы можете удалить или прокомментировать эту строку, чтобы разрешить все подключения.

Для получения дополнительной информации: MongoDB - разрешить удаленный доступ

Ещё вопросы

Сообщество Overcoder
Наверх
Меню