Cassandra数据库连接问题

时间:2017-01-31 06:48:54

标签: java jdbc cassandra

我无法连接到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);

1 个答案:

答案 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地址上打开。