java 链接服务器上的 mongodb 出现 connect time out 问题

来源:互联网 发布:淘宝售后怎么赚钱 编辑:程序博客网 时间:2024/06/05 15:51

异常信息

十二月 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


但是如果设置了这些东西还不能链接,说明服务器上的某些端口未打开造成不可连接。


解决方法要先配置ip表打开某些端口,再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


再试试代码,搞定!

0 0