Cassandra数据库已安装在具有以下配置的服务器计算机上:cqlsh 4.1.1 | Cassandra 2.0.7.31 | CQL规范3.1.1 |节俭协议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)at cassandraConnectivity.connect.main上java.sql.DriverManager.getConnection(未知来源)的java.sql.DriverManager.getConnection(未知来源)中的org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:86) (connect.java:15)
此外,它无法找到外部添加的上述jar文件的源代码
请告诉我哪里出错了
2 回答
JDBC驱动程序非常老旧 . 您应该使用新的本机Java驱动程序,您可以获得here .
您可能想要使用已 Build 的驱动程序 - 像Astyanax:https://github.com/Netflix/astyanax
入门页面有一些非常简单的例子: