java - Error while trying to connect to cassandra through hector API -
i have written java code reading records cassandra. giving run-time error.. here java code:-
import javax.naming.spi.dirstatefactory.result; import me.prettyprint.cassandra.serializers.stringserializer; import me.prettyprint.hector.api.*; import me.prettyprint.hector.api.cluster; import me.prettyprint.hector.api.keyspace; import me.prettyprint.hector.api.beans.hcolumn; import me.prettyprint.hector.api.factory.hfactory; import me.prettyprint.hector.api.mutation.mutator; import me.prettyprint.hector.api.query.columnquery; import me.prettyprint.hector.api.query.queryresult; public class hectorconnect { public static void main(string args[]){ try{ cluster c = hfactory.getorcreatecluster("test", "localhost:9160"); keyspace ko = hfactory.createkeyspace("myspace", c); stringserializer se = stringserializer.get(); columnquery<string, string> q = hfactory.createcolumnquery(ko, se, se); queryresult<hcolumn<string, string>> r = q.setkey("cara"). setname("customername"). setcolumnfamily("customer"). execute(); } catch(exception e){ e.printstacktrace(); } } }
and error throws folows:-
log4j:warn no appenders found logger (me.prettyprint.cassandra.service.cassandraclientpoolfactory). log4j:warn please initialize log4j system properly. exception in thread "main" java.lang.nosuchmethoderror: org.apache.cassandra.thrift.cassandra$client.describe_keyspaces()ljava/util/set; @ me.prettyprint.cassandra.service.cassandraclientimpl.getkeyspaces(cassandraclientimpl.java:141) @ me.prettyprint.cassandra.service.cassandraclientimpl.getkeyspace(cassandraclientimpl.java:114) @ me.prettyprint.cassandra.service.cassandraclientimpl.getkeyspace(cassandraclientimpl.java:104) @ me.prettyprint.cassandra.model.executingkeyspace.doexecute(executingkeyspace.java:57) @ me.prettyprint.cassandra.model.thrift.thriftcolumnquery.execute(thriftcolumnquery.java:34) @ hectorconnect.main(hectorconnect.java:30)
anyone knows solution this??
this happens when have incorrect version of apache-casssandra-thrift jar. should ensure version hector provides 1 in classpath.
this jar packaged part of cassandra download , placed in lib directory.
Comments
Post a Comment