eclipse - Titan IllegalArgumentException:Could not instantiate implementation:com.thinkaurelius.titan.diskstorage.cassandra.astyanax.AstyanaxStoreManager -
i'm beginner titan graph database , i'm trying create simple titan graph in particular path using eclipse.initially , setting titan configurations followed creating 2 vertices , edge. code had given :
public class titangraphdemo { private static final string titan_db = "target/tmp/titan"; private static final logger logger = loggerfactory.getlogger(titangraphdemo.class); public static void init() { configuration conf = new baseconfiguration(); conf.setproperty("storage.directory", titan_db); conf.setproperty("storage.backend","cassandra"); conf.setproperty("storage.hostname","127.0.0.1"); conf.setproperty("storage.port","9160"); titangraph graph = titanfactory.open(conf); vertex rash = graph.addvertex(null); rash.setproperty("userid", 1); rash.setproperty("username", "rash"); rash.setproperty("firstname", "rahul"); rash.setproperty("lastname", "chaudhary"); rash.setproperty("birthday", 101); vertex honey = graph.addvertex(null); honey.setproperty("userid", 2); honey.setproperty("username", "honey"); honey.setproperty("firstname", "honey"); honey.setproperty("lastname", "anant"); honey.setproperty("birthday", 201); edge frnd = graph.addedge(null, rash, honey, "friend"); frnd.setproperty("since", 2011); graph.commit(); logger.info("titan graph loaded successfully."); } } but when run java, getting illegalargumentexception below.
exception in thread "main" java.lang.illegalargumentexception: not instantiate implementation: com.thinkaurelius.titan.diskstorage.cassandra.astyanax.astyanaxstoremanager @ com.thinkaurelius.titan.util.system.configurationutil.instantiate(configurationutil.java:55) @ com.thinkaurelius.titan.diskstorage.backend.getimplementationclass(backend.java:421) @ com.thinkaurelius.titan.diskstorage.backend.getstoragemanager(backend.java:361) @ com.thinkaurelius.titan.graphdb.configuration.graphdatabaseconfiguration.<init>(graphdatabaseconfiguration.java:1275) @ com.thinkaurelius.titan.core.titanfactory.open(titanfactory.java:93) @ com.thinkaurelius.titan.core.titanfactory.open(titanfactory.java:73) @ titan.titangraphdemo.init(titangraphdemo.java:37) @ titan.titangraphdemo.main(titangraphdemo.java:113) caused by: java.lang.reflect.invocationtargetexception @ sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method) @ sun.reflect.nativeconstructoraccessorimpl.newinstance(unknown source) @ sun.reflect.delegatingconstructoraccessorimpl.newinstance(unknown source) @ java.lang.reflect.constructor.newinstance(unknown source) @ com.thinkaurelius.titan.util.system.configurationutil.instantiate(configurationutil.java:44) ... 7 more caused by: java.lang.nosuchmethoderror: com.netflix.astyanax.impl.astyanaxconfigurationimpl.settargetcassandraversion(ljava/lang/string;)lcom/netflix/astyanax/impl/astyanaxconfigurationimpl; @ com.thinkaurelius.titan.diskstorage.cassandra.astyanax.astyanaxstoremanager.getcontextbuilder(astyanaxstoremanager.java:474) @ com.thinkaurelius.titan.diskstorage.cassandra.astyanax.astyanaxstoremanager.<init>(astyanaxstoremanager.java:267) ... 12 more i have added dependencies titan, cassandra. please guide me issue.
details of dependencies added in pom.xml below :
<!-- libraries --> <dependencies> <!-- tinkerpop --> <dependency> <groupid>com.tinkerpop.blueprints</groupid> <artifactid>blueprints-core</artifactid> <version>2.6.0</version> </dependency> <dependency> <groupid>com.tinkerpop.blueprints</groupid> <artifactid>blueprints-test</artifactid> <version>2.6.0</version> <scope>test</scope> </dependency> <dependency> <groupid>com.tinkerpop.gremlin</groupid> <artifactid>gremlin-groovy</artifactid> <version>2.1.0</version> <exclusions> <exclusion> <artifactid>gossip</artifactid> <groupid>org.sonatype.gossip</groupid> </exclusion> </exclusions> <scope>provided</scope> </dependency> <dependency> <groupid>com.tinkerpop.rexster</groupid> <artifactid>rexster-core</artifactid> <version>2.1.0</version> </dependency> <!-- utility --> <dependency> <groupid>commons-collections</groupid> <artifactid>commons-collections</artifactid> <version>3.2.1</version> </dependency> <dependency> <groupid>commons-configuration</groupid> <artifactid>commons-configuration</artifactid> <version>1.6</version> </dependency> <dependency> <groupid>commons-io</groupid> <artifactid>commons-io</artifactid> <version>2.0.1</version> </dependency> <dependency> <groupid>com.google.guava</groupid> <artifactid>guava</artifactid> <version>12.0</version> </dependency> <dependency> <groupid>colt</groupid> <artifactid>colt</artifactid> <version>1.2.0</version> </dependency> <dependency> <groupid>com.googlecode</groupid> <artifactid>kryo</artifactid> <version>1.04</version> </dependency> <dependency> <groupid>org.apache.cassandra</groupid> <artifactid>cassandra-all</artifactid> <version>1.2.5</version> </dependency> <dependency> <groupid>org.objenesis</groupid> <artifactid>objenesis</artifactid> <version>2.1</version> </dependency> <dependency> <groupid>com.netflix.astyanax</groupid> <artifactid>astyanax</artifactid> <version>1.0.6</version> </dependency> <!-- logging --> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.6</version> </dependency> <!-- <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>1.6.1</version> </dependency> --> <dependency> <groupid>log4j</groupid> <artifactid>log4j</artifactid> <version>1.2.16</version> </dependency> <!-- storage backends --> <!-- hbase --> <dependency> <groupid>org.apache.hbase</groupid> <artifactid>hbase</artifactid> <!-- update hadoop-core artifact version when update --> <version>0.94.1</version> <exclusions> <exclusion> <artifactid>avro</artifactid> <groupid>org.apache.avro</groupid> </exclusion> <exclusion> <artifactid>jruby-complete</artifactid> <groupid>org.jruby</groupid> </exclusion> </exclusions> </dependency> <dependency> <groupid>org.apache.hadoop</groupid> <artifactid>hadoop-core</artifactid> <!-- update hbase artifact version when update --> <version>1.0.3</version> </dependency> <!-- cassandra --> <dependency> <groupid>commons-pool</groupid> <artifactid>commons-pool</artifactid> <version>1.5.5</version> </dependency> <!-- berkeleydb --> <dependency> <groupid>com.sleepycat</groupid> <artifactid>je</artifactid> <version>5.0.58</version> </dependency> <!-- test dependencies --> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.8.1</version> <scope>test</scope> </dependency> <dependency> <groupid>org.mockito</groupid> <artifactid>mockito-all</artifactid> <version>1.8.1</version> <scope>test</scope> </dependency> <dependency> <groupid>com.thinkaurelius.titan</groupid> <artifactid>titan-core</artifactid> <version>0.5.4</version> </dependency> <dependency> <groupid>com.thinkaurelius.titan</groupid> <artifactid>titan-cassandra</artifactid> <version>0.5.0</version> </dependency> <dependency> <groupid>com.thinkaurelius.titan</groupid> <artifactid>titan-all</artifactid> <version>0.5.0-m1</version> </dependency> <dependency> <groupid>com.datastax.cassandra</groupid> <artifactid>cassandra-driver-core</artifactid> <version>2.0.0-beta2</version> </dependency> </dependencies>
your pom.xml has lot of stuff going on in doesn't need there. damaging thing fact have 3 different version of titan in there. if using "cassandra" should need this:
<dependency> <groupid>com.thinkaurelius.titan</groupid> <artifactid>titan-cassandra</artifactid> <version>0.5.4</version> </dependency> you should remove added dependencies invite version conflict. simple example, have feeling need above <dependency> entry (plus maybe "logging" dependency, depending on 1 using if not coming transitive dependency titan).
Comments
Post a Comment