连接到Cassandra数据库

时间:2015-03-20 07:42:45

标签: cassandra

我是Cassandra的新手。我现在正在研究Ubuntu和最新的Cassandra。我在PC上使用Java 1.7。我在没有任何云或服务器网络的PC上创建了安装(复制是一个)。我可以使用CQL,但是当我在Java中尝试代码失败时。

以下是代码:

    Cluster cluster;
    Session session;
    cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
    session = cluster.connect("casslinks");

    if (!tableExists(linktable, session))
    {
        createCassTable(linktable, session);
    }

    for (String url: urls) {
        insertCassUrl(url, crawledUrl, session, linktable);
    }

这是错误:

 Exception in thread "main" 
 java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
at com.datastax.driver.core.Cluster.<clinit>(Cluster.java:65)
at com.example.GetSoogrData.insertUrls(GetSoogrData.java:596)
at com.example.GetSoogrData.main(GetSoogrData.java:1112)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

我使用调试器并看到会话行失败。我认为IP地址是错误的。我不确定如何测试正确的IP地址或如何定义会话变量将正确连接。

我一直在使用mongo db和127.0.0.1。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:3)

您可能正在运行缺少依赖项的代码。 Datastax java驱动程序需要很少的addidional jar,SLF4J库是其中一个引发异常的库。

看这里看看你需要什么罐子:

http://www.datastax.com/documentation/developer/java-driver/2.0/java-driver/reference/settingUpJavaProgEnv_r.html

http://www.datastax.com/documentation/developer/java-driver/2.0/common/drivers/introduction/driverDependencies_r.html