我已经配置了具有2个数据中心和每个3个节点的cassandra集群。我想使用DCAwareRoundRobinPolicy指定本地数据中心。我尝试同时使用Datastax Java驱动程序2.0.2和3.1。但是使用2.0.2时,没有编译时错误,而是在运行时出现了NoSuchMethodError和3.1,我看不到DCAwareRoundRobinPolicy()构造函数。
谁能让我知道如何解决此问题?
提前致谢。
最佳答案
对于Java Cassandra驱动程序3.1,您现在使用构建器来创建DCAwareRoundRobinPolicy
DCAwareRoundRobinPolicy dcAwareRoundRobinPolicy = DCAwareRoundRobinPolicy.builder()
.withLocalDc("my-dc")
.withUsedHostsPerRemoteDc(1)
.build();
我还建议您也使用TokenAware,以便在构建集群时添加
Cluster.Builder()
.withLoadBalancingPolicy(new TokenAwarePolicy(dcAwareRoundRobinPolicy))