You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@accumulo.apache.org by Benjamin Parrish <be...@gmail.com> on 2013/09/03 18:55:57 UTC

Exception during connection to ZooKeeperInstance

I am attempting to test out Accumulo for use at work.  I am running into a problem with getting Java code to work.  I am using an Ubuntu VM that came prepared with Acumulo, ZooKeeper, and Hadoop already setup.  I can SSH into the VM, and I can run the Acumulo shell with no problem.  However when running Java code I am running into the Exception below.

Here is my classpath:
accumulo-core-1.4.2
commons-collections-3.2.1
commons-lang-1.0
commons-logging-1.1.1
commons-net-1.4.1
hadoop-core-1.0.1
libthrift-0.9.1
log4j-1.2.16
slf4j-api-1.7.5
slf4j-jdk14-1.7.5
zookeeper-3.4.3

Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
	at org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:146)
	at org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:123)
	at org.apache.accumulo.core.client.impl.ServerClient.executeRaw(ServerClient.java:105)
	at org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:71)
	at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:75)
	at org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:218)
	at AccumuloTest.main(AccumuloTest.java:21)

Thanks

Ben

Re: Exception during connection to ZooKeeperInstance

Posted by Benjamin Parrish <be...@gmail.com>.
That was it.

I took a look at the class path and just started replacing JARs with the ones already in the project.  The VM uses lib thrift-0.6.1.jar

Thanks Eric

On Sep 3, 2013, at 1:57 PM, Eric Newton <er...@gmail.com> wrote:

> Are you using the same version of hadoop/accumulo as the Accumulo Shell?
> 
> You can checkout the accumulo classpath like this:
> 
> $ ./bin/accumulo classpath
> 
> You are using a slightly newer version of thrift (0.9.1 vs 0.9.0).
> 
> -Eric
> 
> 
> 
> On Tue, Sep 3, 2013 at 12:55 PM, Benjamin Parrish <be...@gmail.com> wrote:
> I am attempting to test out Accumulo for use at work.  I am running into a problem with getting Java code to work.  I am using an Ubuntu VM that came prepared with Acumulo, ZooKeeper, and Hadoop already setup.  I can SSH into the VM, and I can run the Acumulo shell with no problem.  However when running Java code I am running into the Exception below.
> 
> Here is my classpath:
> accumulo-core-1.4.2
> commons-collections-3.2.1
> commons-lang-1.0
> commons-logging-1.1.1
> commons-net-1.4.1
> hadoop-core-1.0.1
> libthrift-0.9.1
> log4j-1.2.16
> slf4j-api-1.7.5
> slf4j-jdk14-1.7.5
> zookeeper-3.4.3
> 
> Exception in thread "main" java.lang.IncompatibleClassChangeError: Implementing class
> 	at java.lang.ClassLoader.defineClass1(Native Method)
> 	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
> 	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
> 	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
> 	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
> 	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
> 	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> 	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> 	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> 	at org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:146)
> 	at org.apache.accumulo.core.client.impl.ServerClient.getConnection(ServerClient.java:123)
> 	at org.apache.accumulo.core.client.impl.ServerClient.executeRaw(ServerClient.java:105)
> 	at org.apache.accumulo.core.client.impl.ServerClient.execute(ServerClient.java:71)
> 	at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(ConnectorImpl.java:75)
> 	at org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(ZooKeeperInstance.java:218)
> 	at AccumuloTest.main(AccumuloTest.java:21)
> 
> Thanks
> 
> Ben
> 


Re: Exception during connection to ZooKeeperInstance

Posted by Eric Newton <er...@gmail.com>.
Are you using the same version of hadoop/accumulo as the Accumulo Shell?

You can checkout the accumulo classpath like this:

$ ./bin/accumulo classpath

You are using a slightly newer version of thrift (0.9.1 vs 0.9.0).

-Eric



On Tue, Sep 3, 2013 at 12:55 PM, Benjamin Parrish <
benjamin.d.parrish@gmail.com> wrote:

> I am attempting to test out Accumulo for use at work.  I am running into a
> problem with getting Java code to work.  I am using an Ubuntu VM that came
> prepared with Acumulo, ZooKeeper, and Hadoop already setup.  I can SSH into
> the VM, and I can run the Acumulo shell with no problem.  However when
> running Java code I am running into the Exception below.
>
> Here is my classpath:
> accumulo-core-1.4.2
> commons-collections-3.2.1
> commons-lang-1.0
> commons-logging-1.1.1
> commons-net-1.4.1
> hadoop-core-1.0.1
> libthrift-0.9.1
> log4j-1.2.16
> slf4j-api-1.7.5
> slf4j-jdk14-1.7.5
> zookeeper-3.4.3
>
> Exception in thread "main" java.lang.IncompatibleClassChangeError:
> Implementing class
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
> at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
> at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
> at org.apache.accumulo.core.client.impl.ServerClient.getConnection(
> ServerClient.java:146)
> at org.apache.accumulo.core.client.impl.ServerClient.getConnection(
> ServerClient.java:123)
> at org.apache.accumulo.core.client.impl.ServerClient.executeRaw(
> ServerClient.java:105)
> at org.apache.accumulo.core.client.impl.ServerClient.execute(
> ServerClient.java:71)
> at org.apache.accumulo.core.client.impl.ConnectorImpl.<init>(
> ConnectorImpl.java:75)
> at org.apache.accumulo.core.client.ZooKeeperInstance.getConnector(
> ZooKeeperInstance.java:218)
> at AccumuloTest.main(AccumuloTest.java:21)
>
> Thanks
>
> Ben
>