MongoDB版本2.0.1存在问题。我已经在Ubuntu上安装了它 机器是32位。我可以通过命令连接到它 提示,但无法通过Java代码连接到它。这个代码相同 曾经使用较旧的MongoDB版本。我得到以下内容 异常。
Caused by: com.mongodb.MongoInternalException: DBPort.findOne failed
at com.mongodb.DBPort.findOne(DBPort.java:153)
at com.mongodb.DBPort.runCommand(DBPort.java:159)
at com.mongodb.DBTCPConnector.testMaster(DBTCPConnector.java:369)
at com.mongodb.Mongo.<init>(Mongo.java:140)
at
com..bean.MongoCollectionPoolBean.init(MongoCollectionPoolBean.java:
42)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:
43)
at java.lang.reflect.Method.invoke(Method.java:616)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:
1544)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:
1485)
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:
1417)
... 24 more
Caused by: java.io.IOException: couldn't connect to
[domU-12-31-39-0B-26-01/67.265.65.132:27017]
bc:java.net.ConnectException: Connection timed out
at com.mongodb.DBPort._open(DBPort.java:205)
at com.mongodb.DBPort.go(DBPort.java:85)
at com.mongodb.DBPort.findOne(DBPort.java:145)
... 35 more
当我尝试使用我的本地系统重现同样的问题时(Mac Lion 64位)它工作正常。当我看到这里的服务器日志是我所看到的 我的本地系统:
[clientcursormon] mem(MB)res:14 virt:2434 mapped:0
和Ubuntu(它不工作的地方)
[clientcursormon] mem(MB)res:14 virt:86 mapped:0
答案 0 :(得分:0)
如果你的应用程序在同一个盒子上连接到mongodb,那么使用127.0.0.1,这样当你的亚马逊实例改变IP地址时它就不会中断。 通常,最好使用通过/ etc / hosts或dns指向IP的主机名。 如果仍然无法正常工作,请确保您可以从本地终端执行“telnet localhost 27017”。 如果无法连接,则mongodb未在该端口上运行,或者您有防火墙。