我之前在Windows上运行MongoDb,我的Java应用程序连接完美。现在我将MongoDb切换到Linux,并简单地以“./mongod”开头。但每当我尝试连接到Mongo时,我都会遇到以下异常。
Caused by: com.mongodb.MongoException: can't find a master
at com.mongodb.DBTCPConnector.checkMaster(DBTCPConnector.java:434)
at com.mongodb.DBTCPConnector.call(DBTCPConnector.java:209)
at com.mongodb.DBApiLayer$MyCollection.__find(DBApiLayer.java:305)
at com.mongodb.DBCollection.findOne(DBCollection.java:647)
at com.mongodb.DBCollection.findOne(DBCollection.java:626)
at com.mongodb.DBApiLayer$MyCollection.createIndex(DBApiLayer.java:364)
at com.mongodb.DBCollection.createIndex(DBCollection.java:436)
at com.mongodb.DBCollection.ensureIndex(DBCollection.java:515)
at com.google.code.morphia.DatastoreImpl.ensureIndex(DatastoreImpl.java:245)
at com.google.code.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:310)
at com.google.code.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:279)
at com.google.code.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:340)
at com.google.code.morphia.DatastoreImpl.ensureIndexes(DatastoreImpl.java:333)
答案 0 :(得分:2)
这不是副本主/单个问题(据我所知,你正在使用UMongo)。 在连接之前,尝试将服务器设置从“localhost:27017”更改为“127.0.0.1:27017”
答案 1 :(得分:1)
听起来你的配置在linux和windows mongo服务器之间是不同的。确保您的Linux服务器已正确加入副本集,并且不会从其他服务器中防火墙。所有文档都在这里:http://www.mongodb.org/display/DOCS/Replica+Sets