我无法连接到Cassandra DB。我尝试使用端口号9042,但它在下面给出了一个例外
java.sql.SQLNonTransientConnectionException: org.apache.thrift.transport.TTransportException: Read a negative frame size (-2097152000)!.
由于我使用端口号9160相同。但它给了我以下异常
[main] ERROR org.bigsql.cassandra2.jdbc.CassandraConnection - Impossible to connect to server Server Name : org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection timed out: connect
请提供相同的解决方案。请参阅以下用于连接的代码。
URL="jdbc:cassandra://server name:9160/schema";
address =address;
user=Username;
pass=Password;
Class.forName("org.bigsql.cassandra2.jdbc.CassandraDriver");
conn = DriverManager.getConnection(URL,user,pass);
答案 0 :(得分:2)
URL
不正确,您在此网址中遇到问题:
URL="jdbc:cassandra://server name:9160/schema";
以下是您应该遵循的语法:
jdbc:cassandra://host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[keyspace][?options]]
例如:
URL="jdbc:cassandra://10.6.99.99:9160/dbname";
因此,您应该代替server name
指定数据库的@IP或正确的主机。
在端口号9160/schema
之后的第二个,您应该指定数据库的名称而不是架构。
看看:
修改强>
正如@Mark Rotteveel所说:..或者端口错误,或者端口不是 在该主机名的可访问IP地址上打开
所以请确保该端口在该主机名的可访问IP地址上打开。