java - 如何使用 Java 驱动程序 (2.0.2,3.1) 和 cassandra 3.7 在 java 中使用 DCAwareRoundRobinPolicy

标签 java cassandra datastax cql nosuchmethoderror

我已经配置了 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/

相关文章:

java - 如何获取 JTextArea 中选定的字符位置?

Java Swing : Maximising a JTable display

database - 使用cassandra时如何获取项目列表

Java Spark 和 cassandra 连接中的 java.lang.AbstractMethodError

java - 将 Datastax Cassandra 结果集与 Java 8 并行流一起使用 - 快速

cassandra - Cassandra 中的架构更改超时

java - 转义 url 中的非英文字符

java - 仍然有 NullPointerException 错误

java - Cassandra 的监听地址总是监听一个 ipv6 地址

java - 错误 NoHostAvailableException : All host(s) tried for query failed (tried:/127. 0.0.1:9042