首页 > 代码库 > java 链接server上的 mongodb 出现 connect time out 问题

java 链接server上的 mongodb 出现 connect time out 问题

异常信息

十二月 22, 2014 5:27:58 下午 com.mongodb.DBTCPConnector initDirectConnection
警告: Exception executing isMaster command on /192.168.1.249:10003
java.io.IOException: couldn‘t connect to [/192.168.1.249:10003] bc:java.net.SocketTimeoutException: connect timed out
at com.mongodb.DBPort._open(DBPort.java:214)
at com.mongodb.DBPort.go(DBPort.java:107)
at com.mongodb.DBPort.go(DBPort.java:88)
at com.mongodb.DBPort.findOne(DBPort.java:143)
at com.mongodb.DBPort.runCommand(DBPort.java:148)
at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:539)
at com.mongodb.Mongo.getMaxBsonObjectSize(Mongo.java:600)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:233)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:205)
at com.mongodb.DBCollection.insert(DBCollection.java:57)
at com.mongodb.DBCollection.insert(DBCollection.java:100)
at fileUpload.UploadFileTest.test(UploadFileTest.java:35)
at fileUpload.UploadFileTest.main(UploadFileTest.java:41)


十二月 22, 2014 5:28:08 下午 com.mongodb.DBTCPConnector initDirectConnection
警告: Exception executing isMaster command on /192.168.1.249:10003
java.io.IOException: couldn‘t connect to [/192.168.1.249:10003] bc:java.net.SocketTimeoutException: connect timed out
at com.mongodb.DBPort._open(DBPort.java:214)
at com.mongodb.DBPort.go(DBPort.java:107)
at com.mongodb.DBPort.go(DBPort.java:88)
at com.mongodb.DBPort.findOne(DBPort.java:143)
at com.mongodb.DBPort.runCommand(DBPort.java:148)
at com.mongodb.DBTCPConnector.initDirectConnection(DBTCPConnector.java:539)
at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:518)
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:174)
at com.mongodb.DBTCPConnector.say(DBTCPConnector.java:155)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:249)
at com.mongodb.DBApiLayer$MyCollection.insert(DBApiLayer.java:205)
at com.mongodb.DBCollection.insert(DBCollection.java:57)
at com.mongodb.DBCollection.insert(DBCollection.java:100)
at fileUpload.UploadFileTest.test(UploadFileTest.java:35)
at fileUpload.UploadFileTest.main(UploadFileTest.java:41)



一些常规的解决方法。比方因网络原因连接超时等能够这么解决。讲的还挺具体

http://lingqi1818.iteye.com/blog/1317433


可是假设设置了这些东西还不能链接,说明server上的某些port未打开造成不可连接。


解决方法要先配置ip表打开某些port,再restart server就可以。


root 进入server

vi /etc/sysconfig/iptables


加入


-A INPUT -m state --state NEW -m tcp -p tcp --dport 10002 -j ACCEPT (这里打开的端口为10002)


保存退出


service iptables restart


再试试代码,搞定!

java 链接server上的 mongodb 出现 connect time out 问题