tried to access method com.google.common.base.Stopwatch

hbase查詢時,出現如下異常:java

Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: java.lang.IllegalAccessError: tried to access method com.google.common.base.Stopwatch.<init>()V from class org.apache.hadoop.hbase.zookeeper.MetaTableLocator
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.translateException(RpcRetryingCaller.java:229)
    at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithoutRetries(RpcRetryingCaller.java:202)
    at org.apache.hadoop.hbase.client.ClientScanner.call(ClientScanner.java:326)
    at org.apache.hadoop.hbase.client.ClientScanner.nextScanner(ClientScanner.java:301)
    at org.apache.hadoop.hbase.client.ClientScanner.initializeScannerInConstruction(ClientScanner.java:166)
    at org.apache.hadoop.hbase.client.ClientScanner.<init>(ClientScanner.java:161)
    at org.apache.hadoop.hbase.client.HTable.getScanner(HTable.java:794)
    at org.springframework.data.hadoop.hbase.HbaseTemplate$1.doInTable(HbaseTemplate.java:132)
    at org.springframework.data.hadoop.hbase.HbaseTemplate.execute(HbaseTemplate.java:61)
    ... 75 more
首先確認,Stopwatch在google的guava包下,果斷開始查guava,發現項目裏有兩個版本的guava,刪除一個,保留與當前hbase版本匹配的另外一個,運行成功。spring

注,guava17開始,constructors發生變化,若是確認當前項目只有一個guava包,需確認版本問題。apache

測試,hbase1.2.1:guava12-16,運行無誤;guava17開始,一樣出現標題異常
 oop

相關文章
相關標籤/搜索