2011-12-02 172 views
0

我有一個MongoDB版本2.0.1的問題。我已經將它安裝在32位的Ubuntu 機器上。我可以通過命令 提示連接到它,但無法通過Java代碼連接到它。這個代碼 用於處理較早的MongoDB版本。我得到以下 異常。MongoDB 2.0.1問題

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 

當我試圖用我的本地系統(蘋果獅子 64位)重現同樣的問題,它工作正常。當我看到服務器日誌下面是我對 看到我的本地系統:

[clientcursormon] MEM(MB)RES:14的virt:2434映射:0

,並在Ubuntu(它不工作)

[clientcursormon] MEM(MB)RES:14的virt:86映射:0

+1

你確定MongoDB服務器的IP地址(67.265.65.132)是否正確?你有運行阻止網絡流量的防火牆嗎? – Jesper

+0

它是在本地主機上,是的,這是正確的 – Rahul

+1

我不是一個Java人,但共同的想法會決定,也許驅動程序也需要更新以及?您可以檢查您的MongoDB當前包是否與您在服務器上運行的升級兼容? – DeaconDesperado

回答

0

如果應用程序正在連接到的MongoDB在同一框,然後用127.0.0.1,使得它不破壞當你的亞馬遜實例更改IP地址。 通常,最好使用通過/ etc/hosts或dns指向IP的主機名。 如果這仍然不起作用,請確保您可以從本地終端執行「telnet localhost 27017」。 如果無法連接,那麼mongodb不在該端口上運行,或者您有防火牆。