Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

java.lang.IncompatibleClassChangeError: Implementing class while using titan with hbase

Tags:

java

hbase

titan

I am trying to use Titan with HBase through Java, and receive this error:

Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
    at java.security.SecureClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.defineClass(Unknown Source)
    at java.net.URLClassLoader.access$100(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at com.thinkaurelius.titan.diskstorage.Backend.instantiate(Backend.java:342)
    at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:367)
    at com.thinkaurelius.titan.diskstorage.Backend.getStorageManager(Backend.java:311)
    at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:121)
    at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1173)
    at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:75)
    at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:40)
    at ...

My understanding of the IncompatibleClassChangeError: Implementing class is that it happens when there are conflicting JARs in the classpath. However, in this case, I'm unable to tell which are these JARs. Here's the full list:

activation-1.1.jar
airline-0.6.jar
akka-actor_2.10-2.3.11.jar
akka-remote_2.10-2.3.11.jar
akka-slf4j_2.10-2.3.11.jar
ant-1.9.4.jar
ant-antlr-1.9.4.jar
ant-junit-1.9.4.jar
ant-launcher-1.9.4.jar
antisamy-1.4.3.jar
antlr-2.7.7.jar
antlr-3.2.jar
antlr-runtime-3.2.jar
antlr-runtime-3.5.2.jar
aopalliance-1.0.jar
apache-cassandra-2.2.9.jar
apache-cassandra-clientutil-2.2.9.jar
apache-cassandra-thrift-2.2.9.jar
apacheds-i18n-2.0.0-M15.jar
apacheds-kerberos-codec-2.0.0-M15.jar
api-asn1-api-1.0.0-M20.jar
api-util-1.0.0-M20.jar
asm-3.1.jar
asm-3.2.jar
asm-4.1.jar
asm-commons-4.1.jar
astyanax-cassandra-3.8.0.jar
astyanax-core-3.8.0.jar
astyanax-recipes-3.8.0.jar
astyanax-thrift-3.8.0.jar
avro-1.7.4.jar
avro-1.7.7-IBM-27.jar
avro-ipc-1.7.7-tests.jar
avro-ipc-1.7.7.jar
avro-mapred-1.7.7-hadoop2.jar
batik-css-1.7.jar
batik-ext-1.7.jar
batik-util-1.7.jar
bsf-2.4.0.jar
bsh-core-2.0b4.jar
cassandra-all-2.2.3.jar
cassandra-driver-core-2.2.0-rc2-SNAPSHOT-20150617-shaded.jar
cassandra-thrift-2.2.3.jar
chill_2.10-0.5.0.jar
chill-java-0.5.0.jar
commons-beanutils-1.8.0.jar
commons-beanutils-core-1.7.0.jar
commons-cli-1.1.jar
commons-cli-1.2.jar
commons-codec-1.2.jar
commons-codec-1.4.jar
commons-codec-1.7.jar
commons-codec-1.9.jar
commons-collections-3.2.1.jar
commons-collections-3.2.2.jar
commons-compress-1.4.1.jar
commons-configuration-1.10.jar
commons-configuration-1.6.jar
commons-daemon-1.0.13.jar
commons-digester-1.8.jar
commons-el-1.0.jar
commons-fileupload-1.2.jar
commons-httpclient-3.1.jar
commons-io-2.3.jar
commons-io-2.4.jar
commons-lang-2.5.jar
commons-lang-2.6.jar
commons-lang3-3.1.jar
commons-lang3-3.3.1.jar
commons-logging-1.1.1.jar
commons-logging-1.1.3.jar
commons-logging-1.2.jar
commons-math-2.2.jar
commons-math3-3.1.1.jar
commons-math3-3.2.jar
commons-net-1.4.1.jar
commons-net-3.1.jar
commons-pool-1.6.jar
compress-lzf-0.8.4.jar
compress-lzf-1.0.0.jar
concurrentlinkedhashmap-lru-1.3.jar
concurrentlinkedhashmap-lru-1.4.jar
config-1.2.1.jar
crc32ex-0.1.1.jar
curator-client-2.7.1.jar
curator-framework-2.7.1.jar
curator-recipes-2.7.1.jar
disruptor-3.0.1.jar
disruptor-3.3.0.jar
dom4j-1.6.1.jar
ecj-4.4.2.jar
elasticsearch-1.5.1.jar
esapi-2.1.0.jar
findbugs-annotations-1.3.9-1.jar
gbench-0.4.3-groovy-2.4.jar
gmetric4j-1.0.3.jar
gpars-1.2.1.jar
gprof-0.3.1-groovy-2.4.jar
gremlin-console-3.1.0-incubating.jar
gremlin-core-3.1.0-incubating.jar
gremlin-driver-3.1.0-incubating.jar
gremlin-groovy-3.1.0-incubating.jar
gremlin-server-3.1.0-incubating.jar
gremlin-shaded-3.1.0-incubating.jar
groovy-2.4.9.jar
groovy-ant-2.4.9.jar
groovy-bsf-2.4.9.jar
groovy-console-2.4.9.jar
groovy-docgenerator-2.4.9.jar
groovy-groovydoc-2.4.9.jar
groovy-groovysh-2.4.9.jar
groovy-jmx-2.4.9.jar
groovy-json-2.4.9.jar
groovy-jsr223-2.4.9.jar
groovy-nio-2.4.9.jar
groovy-servlet-2.4.9.jar
groovy-sql-2.4.9.jar
groovy-swing-2.4.9.jar
groovy-templates-2.4.9.jar
groovy-test-2.4.9.jar
groovy-testng-2.4.9.jar
groovy-xml-2.4.9.jar
gson-2.2.4.jar
guava-12.0.1.jar
guava-16.0.1.jar
guava-16.0.jar
guice-3.0.jar
guice-servlet-3.0.jar
hadoop-annotations-2.7.2-IBM-12.jar
hadoop-annotations.jar
hadoop-auth-2.7.2-IBM-12.jar
hadoop-auth.jar
hadoop-client-2.7.2-IBM-12.jar
hadoop-common-2.7.2-IBM-12-tests.jar
hadoop-common-2.7.2-IBM-12.jar
hadoop-common-tests.jar
hadoop-common.jar
hadoop-gremlin-3.1.0-incubating.jar
hadoop-hdfs-2.7.2-IBM-12.jar
hadoop-mapreduce-client-app-2.7.2-IBM-12.jar
hadoop-mapreduce-client-common-2.7.2-IBM-12.jar
hadoop-mapreduce-client-core-2.7.2-IBM-12.jar
hadoop-mapreduce-client-jobclient-2.7.2-IBM-12.jar
hadoop-mapreduce-client-shuffle-2.7.2-IBM-12.jar
hadoop-nfs-2.7.2-IBM-12.jar
hadoop-nfs.jar
hadoop-yarn-api-2.7.2-IBM-12.jar
hadoop-yarn-client-2.7.2-IBM-12.jar
hadoop-yarn-common-2.7.2-IBM-12.jar
hadoop-yarn-server-common-2.7.2-IBM-12.jar
hamcrest-core-1.3.jar
hbase-annotations-1.2.0-IBM-7-tests.jar
hbase-annotations-1.2.0-IBM-7.jar
hbase-annotations.jar
hbase-client-1.2.0-IBM-7.jar
hbase-client.jar
hbase-common-1.2.0-IBM-7-tests.jar
hbase-common-1.2.0-IBM-7.jar
hbase-common.jar
hbase-examples-1.2.0-IBM-7.jar
hbase-examples.jar
hbase-external-blockcache-1.2.0-IBM-7.jar
hbase-external-blockcache.jar
hbase-hadoop-compat-1.2.0-IBM-7.jar
hbase-hadoop-compat.jar
hbase-hadoop2-compat-1.2.0-IBM-7.jar
hbase-hadoop2-compat.jar
hbase-it-1.2.0-IBM-7-tests.jar
hbase-it-1.2.0-IBM-7.jar
hbase-it.jar
hbase-prefix-tree-1.2.0-IBM-7.jar
hbase-prefix-tree.jar
hbase-procedure-1.2.0-IBM-7.jar
hbase-procedure.jar
hbase-protocol-1.2.0-IBM-7.jar
hbase-protocol.jar
hbase-resource-bundle-1.2.0-IBM-7.jar
hbase-resource-bundle.jar
hbase-rest-1.2.0-IBM-7.jar
hbase-rest.jar
hbase-server-1.2.0-IBM-7-tests.jar
hbase-server-1.2.0-IBM-7.jar
hbase-server.jar
hbase-shell-1.2.0-IBM-7.jar
hbase-shell.jar
hbase-thrift-1.2.0-IBM-7.jar
hbase-thrift.jar
hibernate-validator-4.3.0.Final.jar
high-scale-lib-1.0.6.jar
high-scale-lib-1.1.2.jar
hppc-0.7.1.jar
htrace-core-3.1.0-incubating.jar
httpclient-4.2.5.jar
httpclient-4.4.1.jar
httpcore-4.2.5.jar
httpcore-4.4.1.jar
httpmime-4.4.1.jar
ivy-2.3.0.jar
ivy-2.4.0.jar
jackson-annotations-2.4.4.jar
jackson-core-2.4.4.jar
jackson-core-asl-1.9.13.jar
jackson-core-asl-1.9.2.jar
jackson-databind-2.4.4.jar
jackson-datatype-json-org-2.4.4.jar
jackson-jaxrs-1.9.13.jar
jackson-mapper-asl-1.9.13.jar
jackson-mapper-asl-1.9.2.jar
jackson-module-scala_2.10-2.4.4.jar
jackson-xc-1.9.13.jar
jamm-0.3.0.jar
jamon-runtime-2.4.1.jar
jansi-1.11.jar
jasper-compiler-5.5.23.jar
jasper-runtime-5.5.23.jar
java-xmlbuilder-0.4.jar
javassist-3.18.0-GA.jar
javatuples-1.2.jar
javax.inject-1.jar
javax.inject.jar
javax.json-1.0.jar
javax.servlet-3.0.0.v201112011016.jar
javax.servlet-api-3.0.1.jar
jaxb-api-2.2.2.jar
jaxb-impl-2.2.3-1.jar
jbcrypt-0.3m.jar
jboss-logging-3.1.2.GA.jar
jcabi-log-0.14.jar
jcabi-manifests-1.1.jar
jcl-over-slf4j-1.7.12.jar
jcl-over-slf4j-1.7.7.jar
jcodings-1.0.8.jar
jcommander-1.47.jar
je-5.0.73.jar
jersey-client-1.9.jar
jersey-core-1.9.jar
jersey-guice-1.9.jar
jersey-json-1.9.jar
jersey-server-1.9.jar
jets3t-0.7.1.jar
jets3t-0.9.0.jar
jettison-1.1.jar
jettison-1.3.3.jar
jetty-6.1.26-ibm.jar
jetty-sslengine-6.1.26-ibm.jar
jetty-util-6.1.26-ibm.jar
jline-2.12.jar
jna-4.0.0.jar
joda-time-1.6.2.jar
joda-time-2.4.jar
joni-2.1.2.jar
jruby-complete-1.6.8-ibm-2.jar
jsch-0.1.50.jar
json-20090211_1.jar
json-simple-1.1.jar
json4s-ast_2.10-3.2.10.jar
json4s-core_2.10-3.2.10.jar
json4s-jackson_2.10-3.2.10.jar
jsp-2.1-6.1.14.jar
jsp-api-2.0.jar
jsp-api-2.1-6.1.14.jar
jsp-api-2.1.jar
jsr166y-1.7.0.jar
jsr305-1.3.9.jar
jsr305-3.0.0.jar
jts-1.13.jar
jul-to-slf4j-1.7.10.jar
junit-4.11.jar
junit-4.12.jar
junit-benchmarks-0.7.0.jar
kryo-2.21.jar
leveldbjni-all-1.8-IBM-3.jar
libthrift-0.9.2.jar
libthrift-0.9.3.jar
log4j-1.2.17.jar
log4j-over-slf4j-1.7.7.jar
logback-classic-1.1.3.jar
logback-core-1.1.3.jar
lucene-analyzers-common-4.10.4.jar
lucene-core-4.10.4.jar
lucene-grouping-4.10.4.jar
lucene-highlighter-4.10.4.jar
lucene-join-4.10.4.jar
lucene-memory-4.10.4.jar
lucene-misc-4.10.4.jar
lucene-queries-4.10.4.jar
lucene-queryparser-4.10.4.jar
lucene-sandbox-4.10.4.jar
lucene-spatial-4.10.4.jar
lucene-suggest-4.10.4.jar
lz4-1.3.0.jar
mesos-0.21.1-shaded-protobuf.jar
metrics-core-2.1.2.jar
metrics-core-2.2.0.jar
metrics-core-3.0.1.jar
metrics-core-3.1.0.jar
metrics-core-3.1.2.jar
metrics-ganglia-3.0.1.jar
metrics-graphite-3.0.1.jar
metrics-graphite-3.1.2.jar
metrics-json-3.1.2.jar
metrics-jvm-3.1.0.jar
metrics-jvm-3.1.2.jar
metrics-logback-3.1.0.jar
minlog-1.2.jar
mockito-all-1.8.5.jar
multiverse-core-0.7.0.jar
nekohtml-1.9.12.jar
netty-3.6.2.Final.jar
netty-3.8.0.Final.jar
netty-all-4.0.23.Final.jar
netty-all-4.0.29.Final.jar
netty-all-4.0.44.Final.jar
noggit-0.6.jar
objenesis-2.1.jar
ohc-core-0.3.4.jar
ohc-core-j8-0.3.4.jar
ojdbc6.jar
org.apache.servicemix.bundles.commons-csv-1.0-r706900_3.jar
oro-2.0.8.jar
paranamer-2.3.jar
paranamer-2.6.jar
phoenix-4.6.1-HBase-1.2.0-IBM-6-server.jar
phoenix-server.jar
pipes-2.6.0.jar
protobuf-java-2.5.0.jar
py4j-0.8.2.1.jar
pyrolite-4.4.jar
qdox-1.12.1.jar
randomizedtesting-runner-2.0.8.jar
ranger-hbase-plugin-shim-0.5.2-IBM-2.jar
ranger-hdfs-plugin-shim-0.5.2-IBM-2.jar
ranger-plugin-classloader-0.5.2-IBM-2.jar
ranger-yarn-plugin-shim-0.5.2-IBM-2.jar
reflectasm-1.07-shaded.jar
reflections-0.9.9-RC1.jar
reporter-config-base-3.0.0.jar
reporter-config3-3.0.0.jar
RoaringBitmap-0.4.5.jar
scala-compiler-2.10.0.jar
scala-library-2.10.5.jar
scalap-2.10.0.jar
servlet-api-2.4.jar
servlet-api-2.5-6.1.14.jar
servlet-api-2.5.jar
sesame-model-2.7.10.jar
sesame-rio-api-2.7.10.jar
sesame-rio-datatypes-2.7.10.jar
sesame-rio-languages-2.7.10.jar
sesame-rio-n3-2.7.10.jar
sesame-rio-ntriples-2.7.10.jar
sesame-rio-rdfxml-2.7.10.jar
sesame-rio-trig-2.7.10.jar
sesame-rio-trix-2.7.10.jar
sesame-rio-turtle-2.7.10.jar
sesame-util-2.7.10.jar
sigar-1.6.4.jar
slf4j-api-1.6.1.jar
slf4j-api-1.7.10.jar
slf4j-api-1.7.12.jar
slf4j-api-1.7.7.jar
slf4j-log4j12-1.7.10.jar
slf4j-log4j12-1.7.12.jar
snakeyaml-1.11.jar
snakeyaml-1.15.jar
snappy-java-1.0.5-IBM-3.jar
snappy-java-1.1.1.7-IBM-1.jar
snappy-java-1.1.1.7.jar
solr-solrj-5.5.0-IBM-2.jar
spark-core_2.10-1.5.1.jar
spark-gremlin-3.1.0-incubating.jar
spark-launcher_2.10-1.5.1.jar
spark-network-common_2.10-1.5.1.jar
spark-network-shuffle_2.10-1.5.1.jar
spark-unsafe_2.10-1.5.1.jar
spatial4j-0.4.1.jar
spymemcached-2.11.6.jar
ST4-4.0.8.jar
stax-api-1.0-2.jar
stax-api-1.0.1.jar
stax2-api-3.1.4.jar
stream-2.5.2.jar
stream-2.7.0.jar
stringtemplate-3.2.jar
super-csv-2.1.0.jar
tachyon-client-0.7.1.jar
tachyon-underfs-hdfs-0.7.1.jar
tachyon-underfs-local-0.7.1.jar
testng-6.8.13.jar
thrift-server-0.3.7.jar
tinkergraph-gremlin-3.1.0-incubating.jar
titan-all-1.0.0-IBM-13.jar
titan-berkeleyje-1.0.0.jar
titan-cassandra-1.0.0.jar
titan-core-1.0.0-IBM-13.jar
titan-es-1.0.0.jar
titan-hadoop-1.0.0-IBM-13.jar
titan-hbase-1.0.0-IBM-13.jar
titan-lucene-1.0.0.jar
titan-solr-1.0.0-IBM-13.jar
uncommons-maths-1.2.2a.jar
unused-1.0.0.jar
uuid-3.2.jar
validation-api-1.0.0.GA.jar
woodstox-core-asl-4.4.1.jar
xalan-2.7.0.jar
xercesImpl-2.9.1.jar
xml-apis-1.3.03.jar
xml-apis-1.3.04.jar
xml-apis-ext-1.3.04.jar
xmlenc-0.52.jar
xmlpull-1.1.3.1.jar
xom-1.2.5.jar
xstream-1.4.7.jar
xz-1.0.jar
zookeeper-3.4.6_IBM_4.jar
zookeeper.jar

I'm using the IBM Open Platform 4.2.0 as my hadoop installation and these above JARs come from various sources such as the lib folders for hadoop, hbase, titan, zookeeper, etc.

Any help would be highly appreciated!

like image 344
Mikhil Masli Avatar asked Jun 24 '26 17:06

Mikhil Masli


1 Answers

The main Titan pom has a compatibility list on it in line 60 https://github.com/thinkaurelius/titan/blob/titan10/pom.xml#L60 as do the Titan docs http://s3.thinkaurelius.com/docs/titan/1.0.0/version-compat.html

My first guess is that your hbase version is too new, but I'd look through the compatibility list there. There's also pom.xml files in the other sub projects I'd look through if none of those pan out.

TitanDB is no longer maintained, by the way. JanusGraph, a Linux Foundation Project, has picked up where Titan left off with quite a bit of backing. http://janusgraph.org/

The JanusGraph docs indicate it is compatible with the version of HBase you're using. http://docs.janusgraph.org/latest/version-compat.html

like image 51
pantalohnes Avatar answered Jun 27 '26 08:06

pantalohnes