2014-12-08 53 views
0

當我嘗試授予訪問權限HBase的用戶我得到以下錯誤:HBase的訪問錯誤

grant 'root', 'RWXCA' 

    ERROR: org.apache.hadoop.hbase.coprocessor.CoprocessorException: java.net.ConnectException: Connection refused 
      at com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor.grant(XaSecureAuthorizationCoproces sor.java:1040) 
      at org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos$AccessControlService$1.grant(AccessControlProtos.java:9933) 
      at org.apache.hadoop.hbase.protobuf.generated.AccessControlProtos$AccessControlService.callMethod(Access ControlProtos.java:10097) 
      at org.apache.hadoop.hbase.regionserver.HRegion.execService(HRegion.java:6725) 
      at org.apache.hadoop.hbase.regionserver.HRegionServer.execServiceOnRegion(HRegionServer.java:3415) 
      at org.apache.hadoop.hbase.regionserver.HRegionServer.execService(HRegionServer.java:3397) 
      at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:29998) 
      at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2078) 
      at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108) 
      at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:114) 
      at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:94) 
      at java.lang.Thread.run(Thread.java:745) 

運行HDP2.2 sandbox

hbase.coprocessor.region.classes=com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor

hbase.coprocessor.master.classes=com.xasecure.authorization.hbase.XaSecureAuthorizationCoprocessor

任何想法? 歡呼聲, Colman

回答

0

知道這是一箇舊線程,但FWIW,我假設您沒有安裝在存儲和處理基於角色的授權的沙箱上的XASecure。這就是爲什麼你看到XaSecureAuthorizationCoprocessor無法連接。 AFAIK,XASecure(該公司)被Hortonworks收購。

另一個解決方法可能是編寫您自己的授權模塊,將其放到HBase路徑並將HBase設置更改爲指向它。