带有Cassandra 1.2.1的DataStax Java驱动程序2.0.0-beta2:不支持的协议版本

Mat*_*ams 3 cassandra datastax-java-driver

我想知道com.datastax.cassandra:cassandra-driver-core:2.0.0-beta2是否可以与org.apache.cassandra一起使用:cassandra-all:1.2.1.我正在使用cassandra-maven-plugin:1.2.1-1(使用org.apache.cassandra:cassandra-all:1.2.1),添加

start_native_transport: true
native_transport_port: ${cassandra.nativePort}
Run Code Online (Sandbox Code Playgroud)

yaml插件属性.我可以成功telnet到端口.

但是,当我尝试通过以下代码连接时,

// Ports.NATIVE has the same value as "${cassandra.nativePort}" above
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1")
    .withPort(Ports.NATIVE).build();
Session session = cluster.connect();
Run Code Online (Sandbox Code Playgroud)

我得到以下异常:

com.datastax.driver.core.exceptions.NoHostAvailableException: All host(s) tried for query failed (tried: /127.0.0.1 (com.datastax.driver.core.ConnectionException: [/127.0.0.1] Unexpected error during transport initialization (com.datastax.driver.core.TransportException: [/127.0.0.1] Unexpected exception triggered (com.datastax.driver.core.exceptions.DriverInternalError: Server response from unsupported protocol version: 1))))
    at com.datastax.driver.core.ControlConnection.reconnectInternal(ControlConnection.java:179)
    at com.datastax.driver.core.ControlConnection.connect(ControlConnection.java:77)
    at com.datastax.driver.core.Cluster$Manager.init(Cluster.java:868)
    at com.datastax.driver.core.Cluster$Manager.newSession(Cluster.java:888)
    at com.datastax.driver.core.Cluster$Manager.access$200(Cluster.java:792)
    at com.datastax.driver.core.Cluster.connect(Cluster.java:155)
Run Code Online (Sandbox Code Playgroud)

我认为它的关键在于Server response from unsupported protocol version: 1.

这是否意味着2.0.0-beta2驱动程序不能与Cassandra 1.2.1一起使用?驱动程序/服务器兼容性矩阵在哪里?

我已经烧了差不多一天了.

谢谢,马修

lor*_*can 12

是的,这是不相容的.从java-driver 2.0的要求:

驱动程序使用Casandra的本机协议,此版本2.0使用该协议的第二个版本.因此,此版本的驱动程序需要一个大于或等于2.0的Cassandra版本(对于Cassandra 1.2,请使用驱动程序的1.0版本).

尝试降级到1.0,最新版本是1.0.4:

<dependency>
  <groupId>com.datastax.cassandra</groupId>
  <artifactId>cassandra-driver-parent</artifactId>
  <version>1.0.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)