spark接hbase遇到版本兼容的问题

来源:互联网 发布:域名真实ip 编辑:程序博客网 时间:2024/06/06 13:09

spark集群spark-submit提交后运行HbaseTest设置zookeeper参数:

conf.set("hbase.zookeeper.property.clientPort", "2181")conf.set("hbase.zookeeper.quorum", "ip1,ip2")


运行时报错:

Caused by: java.lang.IllegalAccessError: com/google/protobuf/HBaseZeroCopyByteString        at org.apache.hadoop.hbase.protobuf.RequestConverter.buildRegionSpecifier(RequestConverter.java:897)        at org.apache.hadoop.hbase.protobuf.RequestConverter.buildGetRowOrBeforeRequest(RequestConverter.java:131)        at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRowOrBefore(ProtobufUtil.java:1402)        at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:701)        at org.apache.hadoop.hbase.client.HTable$2.call(HTable.java:699)        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:120)

网上搜了一下看到如下:


试了很多方法 ,还是报错,最后想到因为是0.96的bug,干脆依赖的jar全部换掉,都换成0.98的,如下:


以上是依赖的所有jar,有需要的同学可以参考,我的hbase的版本是0.98.13

换了jar之后编译,放到spark上跑,成功取到表里的数据。

0 0