DCAwareRoundRobinPolicy

DCAwareRoundRobinPolicy

我已经配置了具有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))

10-06 03:31