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