【问题标题】:Hector to connect with Cassandra赫克托与卡桑德拉联系
【发布时间】:2011-07-03 05:27:54
【问题描述】:

我正在尝试将 cassandra 与 Hector 联系起来:

public class Main {
    public static void main(String[] args) {
        StringSerializer stringSerializer = StringSerializer.get();
        Cluster cluster = HFactory.getOrCreateCluster("Test Cluster", "localhost:9160");
        Keyspace keyspace =  HFactory.createKeyspace("Keyspace1", cluster);
        Mutator<String> mutator = HFactory.createMutator(keyspace, stringSerializer);
        mutator.insert("jsmith", "Standard1", HFactory.createStringColumn("first", "John"));
    }

}

问题:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/impl/StaticLoggerBinder
    at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:230)
    at org.slf4j.LoggerFactory.bind(LoggerFactory.java:121)
    at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:112)
    at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:275)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248)
    at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:261)
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:43)
    at me.prettyprint.cassandra.service.AbstractCluster.<init>(AbstractCluster.java:57)
    at me.prettyprint.cassandra.service.ThriftCluster.<init>(ThriftCluster.java:17)
    at me.prettyprint.hector.api.factory.HFactory.createCluster(HFactory.java:112)
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:104)
    at me.prettyprint.hector.api.factory.HFactory.getOrCreateCluster(HFactory.java:96)
    at javaapplication1.Main.main(Main.java:25)
Caused by: java.lang.ClassNotFoundException: org.slf4j.impl.StaticLoggerBinder
    at java.net.URLClassLoader$1.run(URLClassLoader.java:276)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:265)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:264)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:325)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:270)
    ... 13 more
Java Result: 1

我该如何解决?

我对 hector 和 cassandra 的耐心已经到了最后,我尝试联系但失败了。 我运行 twissjava 示例并且它可以工作,但是当我扩展主类以进行我自己的测试时,它没有运行。

【问题讨论】:

标签: java cassandra cassandra-0.7


【解决方案1】:

这个问题”记录在 wiki 上的 "SLF4J in Hector"-page

短版:您需要添加一个实现 SLF4J api 的库。

【讨论】:

    【解决方案2】:

    您使用的是什么开发环境?

    我在 netbeans 中遇到了同样的问题。 以下是您需要的文件(但请注意您使用的版本)。

    log4j 下载:http://www.findjar.com/jar/log4j/log4j/1.2.11/log4j-1.2.11.jar.html slf4j下载:http://www.findjar.com/jar/de/huxhorn/lilith/de.huxhorn.lilith.slf4j/0.9.35/de.huxhorn.lilith.slf4j-0.9.35.jar.html

    附言如果这些版本不起作用,请在 findjar 网站上搜索正确的版本,但我将这两个与 cassandra 1.0.7 和 hector 1.0.2 一起使用,它们对我有用。

    【讨论】:

      【解决方案3】:

      你必须在你的类路径中添加像 SLF4j、Log4j 这样的 Hector 依赖项,然后你的问题就会解决......

      【讨论】:

        猜你喜欢
        • 2012-02-23
        • 2012-07-03
        • 2012-06-10
        • 2011-10-20
        • 2012-03-17
        • 2012-08-29
        • 2011-09-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多