Hi everyone,

Our hbase version 0.98.0-hadoop2. We are coding any service client using Java 
native API and we received errors:

09/06/2014 16:29:07 ERROR [pool-1-thread-1] HBaseModel: Fail to create hbase 
connection
java.io.IOException: java.lang.reflect.InvocationTargetException
        at 
org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:416)
        at 
org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:309)
        at com.tamtay.fancipan.models.HBaseModel.<clinit>(HBaseModel.java:53)
        at 
com.tamtay.fancipan.hbase.LogActivityHandler.fanci(LogActivityHandler.java:29)
        at 
com.tamtay.fancipan.hbase.LogActivityThrift$Processor$fanci.getResult(LogActivityThrift.java:307)
        at 
com.tamtay.fancipan.hbase.LogActivityThrift$Processor$fanci.getResult(LogActivityThrift.java:292)
        at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
        at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
        at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:225)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at 
sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
        at 
org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:414)
        ... 11 more
Caused by: java.lang.NoClassDefFoundError: org/cloudera/htrace/Trace
        at 
org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:195)
        at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:479)
        at 
org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65)
        at 
org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83)
        at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:857)
        at 
org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:662)
        ... 16 more
Caused by: java.lang.ClassNotFoundException: org.cloudera.htrace.Trace
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
        ... 22 more


At begin, we used default hbase library for Java native client and while 
running we getting java.lang.NoSuchFieldError: IBM_JAVA while running service 
from Java.
In these line errors, i found a bug is hahoop-common-2.2.0 library does’t have 
PlatformName class. Otherwise, we checked in maven and we see in 
hadoop-common-2.1.0 beta have PlatformName class and we replace default library 
by older library(hadoop-common-2.1.0) and we received above errors(red line)

Does anyone have ideas how to resolve it!

Many thanks

Reply via email to