J'ai configuré un cluster Cassandra avec deux nœuds récemment. Le facteur de réplication est défini sur 2 et ils semblent tous deux fonctionner correctement si les deux nœuds sont activés. Maintenant, comment puis-je utiliser hector de manière à ce qu'il continue à fonctionner jusqu'à ce qu'au moins un nœud soit disponible? A partir de maintenant j'ai quelque chose comme suivre.Cassandra Hector Équilibrage de charge
CassandraHostConfigurator cassandraHostConfigurator = new CassandraHostConfigurator(
"localhost:9160,xx.xx.13.22:9160");
cassandraHostConfigurator.setMaxActive(20);
cassandraHostConfigurator.setMaxIdle(5);
cassandraHostConfigurator.setCassandraThriftSocketTimeout(3000);
cassandraHostConfigurator.setMaxWaitTimeWhenExhausted(4000);
Cluster cluster = HFactory.getOrCreateCluster("structspeech",
cassandraHostConfigurator);
Keyspace keyspace = HFactory.createKeyspace("structspeech", cluster);
....
Disons que si xx.xx.13.22 hôte descend alors je reçois le message suivant dans ma console et tous mes inserts ne parviennent pas jusqu'à ce que le nœud arrive.
Downed xx.xx.13.22(xx.xx.13.22):9160 host still appears to be down: Unable to open transport to xx.xx.13.22(xx.xx.13.22):9160 , java.net.ConnectException: Connection refused: connect
Voici comment mon keyspace est défini
update keyspace structspeech with placement_strategy =
'org.apache.cassandra.locator.SimpleStrategy'
and strategy_options =[{replication_factor:2}];
Je suis sûr que je manque quelque chose de trivial, toute aide sera grandement appréciée. Merci
Le lien est vraiment utile – Sap