我是吗啡的新手。我正在使用 morphia 和 mongo-java-driver.jar 通过 Java 程序与副本集(集群需要它)进行对话。我写了下面的示例程序:
public static void createDBConnection() {
try {
List<ServerAddress> addrs = new ArrayList<ServerAddress>();
addrs.add( new ServerAddress( "192.168.1.80" , 27017 ) );
addrs.add( new ServerAddress( "192.168.1.81" , 27017 ) );
addrs.add( new ServerAddress( "192.168.1.82" , 27017 ) );
MorphiaObject.mongo = new MongoClient(addrs);
ReplicaSetStatus status = MorphiaObject.mongo.getReplicaSetStatus();
List<String> dbs = MorphiaObject.mongo.getDatabaseNames();
MongoOptions mongOptions = MorphiaObject.mongo.getMongoOptions();
MorphiaObject.mongo.setWriteConcern(WriteConcern.REPLICAS_SAFE);
MorphiaObject.mongo.setReadPreference(ReadPreference.secondaryPreferred());
System.out.println("Read prefrence"+ MorphiaObject.mongo.getReadPreference());
} catch (UnknownHostException e) {
e.printStackTrace();
}
}
- 如果我想在所有节点中安全地写入数据,有哪些必要步骤?
- 我需要为副本设置的最低配置是什么?
- 需要什么验证来检查副本集是关闭还是存活,是否可读,如果应用程序或程序找不到主节点,我们如何管理?