【发布时间】:2014-10-26 09:13:30
【问题描述】:
Cassandra 数据库已安装在具有以下配置的服务器计算机上: qlsh 4.1.1 |卡桑德拉 2.0.7.31 | CQL 规范 3.1.1 | Thrift 协议 19.39.0
我想通过 java 通过 eclipse 连接到一个键空间,比如“X”。
以下是我的代码:
package cassandraConnectivity;
import java.sql.DriverManager;
import java.sql.SQLException;
public class connect{
public static java.sql.Connection con = null;
public static void main(String[] a)throws ClassNotFoundException, SQLException{
try {
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
con=DriverManager.getConnection("jdbc:cassandra:username/pswd@<IP>/<KS>");
System.out.println("cassandra connection established");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
我还在我的 Eclipse 构建路径中添加了以下 jar 文件:
- apache-cassandra-0.8.4.jar
- apache-cassandra-cql-1.0.3.jar
- apache-cassandra-thrift-0.8.4.jar
- casssandra-clientutil-1.2.1.jar
- cassandra-jdbc-1.2.5.jar
- commons-lang-2.4.jar
- guava-r08.jar
- libthrift-0.6.jar
- log4j-1.2.16.jar
- slf4j-log4j12-1.6.1.jar
- slf4j.api-1.6.1.jar
我还在安装 cassandra 的远程位置禁用了防火墙
但尽管如此,我还是遇到了一个错误:
线程“main”中的异常 org.apache.cassandra.cql.jdbc.DriverResolverException: java.net.ConnectException:连接被拒绝:连接在 org.apache.cassandra.cql.jdbc.CassandraConnection.(CassandraConnection.java:91) 在 org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:86) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 java.sql.DriverManager.getConnection(Unknown Source) 在 cassandraConnectivity.connect.main(connect.java:15)
也找不到上述外部添加的jar文件的来源
请告诉我哪里出错了
【问题讨论】:
-
你能用普通的csql客户端连接吗?此外,我可能会升级您的 cassandra jar 以更紧密地匹配服务器。
-
您好,感谢您的回复。我还没有尝试过使用常规的 csql 客户端。另外,我测试了很多 cassandra jar 的组合,但不幸的是无法连接。
标签: java eclipse jdbc cassandra