我正在尝试使用JDBC驱动程序连接到Cassandra DB:
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
Connection con = DriverManager.getConnection("jdbc:cassandra://10.11.15.242:9042/edgeview");
Run Code Online (Sandbox Code Playgroud)
我无法连接到Cassandra.它总是给出以下错误:
org.apache.thrift.transport.TTransportException: Read a negative frame size (-2080374784)!
Run Code Online (Sandbox Code Playgroud)
我在下面添加了库:
Cassandra-jdbc-1.2.5.jar
Cassandra-thrift-1.2.6.jar
Cassandra-clientutil-1.2.6.jar
libthrift-0.9.0.jar
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激.
DriverManager.getConnection("jdbc:cassandra://10.11.15.242:9042/edgeview");
Run Code Online (Sandbox Code Playgroud)
因此,9042是本机二进制协议连接的端口,9160是Thrift的端口.
您需要确定是通过Thrift还是Native连接,并使用适当的端口.鉴于您的错误消息,它听起来像JDBC Cassandra使用Thrift,因此您可能需要指定9160作为您的端口.
当然,通过Thrift连接已被弃用,默认情况下甚至在Cassandra 2.2+中禁用.
| 归档时间: |
|
| 查看次数: |
3779 次 |
| 最近记录: |