我已经配置了 cassandra 集群,其中有 2 个数据中心,每个数据中心有 3 个节点。我想使用 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))
关于java - 如何使用 Java 驱动程序 (2.0.2,3.1) 和 cassandra 3.7 在 java 中使用 DCAwareRoundRobinPolicy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869851/