java调用Hbase API 出现org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final 错误
来源:互联网 发布:近年物流业发展数据 编辑:程序博客网 时间:2024/06/06 00:47
今天写了一段简单的java代码调用Hbase的API,代码如下:
public class HbaseApi {private HTable hTable ;private String tableName;public HbaseApi(String tableName) throws IOException {this.tableName = tableName;HBaseConfiguration hconfig = new HBaseConfiguration();hconfig.set("hbase.zookeeper.property.clientPort","2181");hconfig.set("hbase.zookeeper.quorum", "192.168.179.130"); hTable = new HTable(hconfig, this.tableName.getBytes());}public void scan(String family, String qualifier) throws IOException {Scan scan = new Scan();scan.addColumn(family.getBytes(), qualifier.getBytes());ResultScanner scanner = hTable.getScanner(scan);for(Result result = scanner.next(); result != null; result = scanner.next() ) {}}public static void main(String[] args) {try {new HbaseApi("teacher").scan("teacher", "info");;} catch (IOException e) {e.printStackTrace();}}}
执行的时候出现错误:从错误上看,应该是Hbase的一个类重载了protobuf-java的一个final方法导致的。我使用hadoop的版本是2.2.0, Hbase版本是0.96,protobuf的版本是2.5.如有大神遇到相同的问题,请提供以下解决方法,再此谢过
java.io.IOException: java.lang.reflect.InvocationTargetException at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:389) at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:366) at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:247) at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:188) at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:165) at com.hadoop.study.hbase.HbaseApi.<init>(HbaseApi.java:19) at com.hadoop.study.hbase.HbaseApi.main(HbaseApi.java:34)Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:387) ... 6 moreCaused 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) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:172) at org.apache.hadoop.hbase.ClusterId.parseFrom(ClusterId.java:64) at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:69) at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:801) at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:633) ... 11 more
0 0
- java调用Hbase API 出现org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final 错误
- hbase java api, NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguratio
- hbase启动错误org.apache.hadoop.hbase.TableExistsException: hbase:namespace
- Hbase 创建表出现异常 org.apache.hadoop.hbase.TableExist
- HBASE SHELL 错误NativeException: org.apache.hadoop.hbase.MasterNotRunningException: null
- JAVA api 远程hbase出错 org.apache.hadoop.hbase.client.RetriesExhaustedException
- JAVA API远程hbase出错org.apache.hadoop.hbase.client.RetriesExhaustedException
- Hadoop重启,Hbase出现Master exiting的错误:org.apache.hadoop.hbase.master.HMasterCommandLine: Master exiting
- HBase MapReduce 解决java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/...
- hbase报错Could not initialize class org.apache.hadoop.hbase.protobuf.ProtobufUtil
- hbase org.apache.hadoop.hbase.ClockOutOfSyncException
- org.apache.hadoop.hbase.ClockOutOfSyncException
- org.apache.hadoop.hbase.ClockOutOfSyncException
- org.apache.hadoop.hbase.NotServingRegionException: Region is not online 错误
- org.apache.hadoop.hbase.NotServingRegionException: Region is not online 错误
- Hbase 启动报org.apache.hadoop.hbase.TableExistsException: hbase:namespace
- java.lang.ClassNotFoundException: org.apache.hadoop.hbase.mapreduce.TableOutputFormat解决办法
- 关于org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError
- Android动画学习笔记-Android Animation
- 自制多选功能相册
- Haproxy安装与配置
- 关于 ulimit -SHn 65535
- 判断scrollviewd滑动方向
- java调用Hbase API 出现org.apache.hadoop.hbase.protobuf.generated.ClientProtos$Result overrides final 错误
- bootstrap之ScrollTo
- 萨芬
- win+linux+socket多线程搜索服务器端文件
- UVA579 Clock Hands
- ALAsset和ALAssetRepresentation详解
- ld error when compile the libwebcore.so
- java 方法分派笔记
- 哪种PDF转换器转换效果好