[2016-10-2715:17:12][ERROR][main][HbaseUtil.java:39 ][getHbaseConnection] java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119) ~[hbase-client-1.1.2.jar:1.1.2]
…………
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[:1.7.0_75]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[:1.7.0_75]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[:1.7.0_75]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[:1.7.0_75]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238) ~[hbase-client-1.1.2.jar:1.1.2]
... 7 more
Caused by: java.lang.VerifyError: class org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final method getUnknownFields.()Lcom/google/protobuf/UnknownFieldSet;
at java.lang.ClassLoader.defineClass1(Native Method) ~[:1.7.0_75]
at java.lang.ClassLoader.defineClass(ClassLoader.java:800) ~[:1.7.0_75]
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) ~[:1.7.0_75]
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) ~[:1.7.0_75]
at java.net.URLClassLoader.access$100(URLClassLoader.java:71) ~[:1.7.0_75]
at java.net.URLClassLoader$1.run(URLClassLoader.java:361) ~[:1.7.0_75]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[:1.7.0_75]
at java.security.AccessController.doPrivileged(Native Method) ~[:1.7.0_75]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) ~[:1.7.0_75]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[:1.7.0_75]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) ~[:1.7.0_75]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[:1.7.0_75]
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:210) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:879) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635) ~[hbase-client-1.1.2.jar:1.1.2]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[:1.7.0_75]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[:1.7.0_75]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[:1.7.0_75]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[:1.7.0_75]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238) ~[hbase-client-1.1.2.jar:1.1.2]
... 7 more
还有这种错
[2016-10-2715:17:12][ERROR][main][HbaseUtil.java:39 ][getHbaseConnection] java.io.IOException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:240) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:218) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:119) ~[hbase-client-1.1.2.jar:1.1.2]
…………
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[:1.7.0_75]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[:1.7.0_75]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[:1.7.0_75]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[:1.7.0_75]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238) ~[hbase-client-1.1.2.jar:1.1.2]
... 7 more
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.protobuf.ProtobufUtil
at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:75) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:105) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.retrieveClusterId(ConnectionManager.java:879) ~[hbase-client-1.1.2.jar:1.1.2]
at org.apache.hadoop.hbase.client.ConnectionManager$HConnectionImplementation.<init>(ConnectionManager.java:635) ~[hbase-client-1.1.2.jar:1.1.2]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[:1.7.0_75]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) ~[:1.7.0_75]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[:1.7.0_75]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) ~[:1.7.0_75]
at org.apache.hadoop.hbase.client.ConnectionFactory.createConnection(ConnectionFactory.java:238) ~[hbase-client-1.1.2.jar:1.1.2]
... 7 more
2. 问题定位
看了就蒙了。但是有两个关键错误,java.io.IOException: java.lang.reflect.InvocationTargetException 和
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.apache.hadoop.hbase.protobuf.ProtobufUtil
问题就出在org.apache.hadoop.hbase.protobuf.ProtobufUtil,经历了网上各种搜索,基本确定就是jar包冲突导致的。