我写信是为了检查 Datastax cassandra-driver-core 3.6 与 Cassandra 版本 4 的兼容性。 可以请您推荐一下吗? 下面是当前正在使用的依赖项,检查相同的依赖项是否适用于 Cassandra 版本 4.0
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.6.0</version>
我确实参考了这篇文章,它说它是兼容的。然而,它对我来说不起作用。如果您可以评论支持部分以进一步检查
我设法使用相同的 cassandra 3.11 驱动程序安装 cassandra 4x 以下步骤使其发挥作用:
注意:如果使用 rhel 和 cassandra-4.0.5-1.noarch.rpm 使用 yum 命令失败,请尝试使用 cassandra-4.0.4-1.noarch.rpm,它可以正常工作。
Java 驱动程序 3.6 版与 Apache Cassandra 4.0 兼容,但需要执行其他步骤才能使其正常工作。
Cassandra 4.0 使用本机协议 v5(CASSANDRA-9362、CASSANDRA-14973),但 Java 驱动程序 v3.6 仅支持本机协议 v3(C* 2.2、3.x)。为了连接到 C* 4.0 集群,您需要配置 Java 驱动程序 v3.6 以显式使用协议 v3。例如:
Cluster cluster = Cluster.builder()
.addContactPoint(contactpoint)
.withProtocolVersion(ProtocolVersion.V3)
.build();
顺便说明一下,驱动程序 v3.6 于 2018 年发布,已经非常旧了。我们建议您升级到 Java 驱动程序的最新 v3.x 版本,在撰写本文时为 v3.11。由于它只是到最新补丁版本的升级,因此它与 v3.6 二进制兼容,并且不需要重构您的应用程序。干杯!
我已将 cassandra 3.x 升级到 Cassandra 单元 4.3.1.0。和 datastax 驱动程序版本 3.11.5。在测试类中,我使用 EmbeddedCassandraServerHelper 连接到数据库。升级后执行此操作时 EmbeddedCassandraServerHelper.getSession() 给出 CqlSession ,无法获取 com.datastax.driver.core.Session 来执行查询
如何解决这个问题