Java HBase反向扫描错误

Java HBase反向扫描错误,java,hadoop,hbase,hadoop2,Java,Hadoop,Hbase,Hadoop2,这很有效: scan = new Scan(startRow, stopRow); 这有时会引发异常: scan = new Scan(stopRow, startRow); scan.setReversed(true); 流量为100请求/秒时引发异常。实际上没有超时,1-10%的请求会立即触发异常 hbase:0.98.12-hadoop2; hadoop:2.7.0; AWS中的群集,10个数据节点:d2.4XL 我认为这可能与这个问题有关,但我没有使用任何过滤器 您的错误可能与此有关

这很有效:

scan = new Scan(startRow, stopRow);
这有时会引发异常:

scan = new Scan(stopRow, startRow);
scan.setReversed(true);
流量为100请求/秒时引发异常。实际上没有超时,1-10%的请求会立即触发异常

hbase:0.98.12-hadoop2; hadoop:2.7.0; AWS中的群集,10个数据节点:d2.4XL

我认为这可能与这个问题有关,但我没有使用任何过滤器


您的错误可能与此有关:。尝试增加rpc timeout
hbase.rpc.timeout
No。事实并非如此。有时扫描失败,只命中几行(少于100行),因此它肯定不是长时间运行的扫描,并且在60秒后立即失败(hbase.rpc.timeout)。但感谢您的回复:您是使用随机开始/结束行还是在同一开始/结束行上总是失败?随机。当我尝试手动调用一些失败的请求时,它们总是以无错误相关问题的方式传递:
    java.lang.RuntimeException: org.apache.hadoop.hbase.DoNotRetryIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout?
        at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:94)
        at com.socialbakers.broker.client.hbase.htable.AbstractHtableListScanner.scanToList(AbstractHtableListScanner.java:30)
        at com.socialbakers.broker.client.hbase.htable.AbstractHtableListSingleScanner.invokeOperation(AbstractHtableListSingleScanner.java:23)
        at com.socialbakers.broker.client.hbase.htable.AbstractHtableListSingleScanner.invokeOperation(AbstractHtableListSingleScanner.java:11)
        at com.socialbakers.broker.client.hbase.AbstractHbaseApi.endPointMethod(AbstractHbaseApi.java:40)
        at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at com.socialbakers.broker.client.Route.invoke(Route.java:241)
        at com.socialbakers.broker.client.handler.EndpointHandler.invoke(EndpointHandler.java:173)
        at com.socialbakers.broker.client.handler.EndpointHandler.process(EndpointHandler.java:69)
        at com.thetransactioncompany.jsonrpc2.server.Dispatcher.process(Dispatcher.java:196)
        at com.socialbakers.broker.client.RejectableRunnable.run(RejectableRunnable.java:38)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
        Caused by: org.apache.hadoop.hbase.DoNotRetryIOException: Failed after retry of OutOfOrderScannerNextException: was there a rpc timeout?
        at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:430)
        at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:333)
        at org.apache.hadoop.hbase.client.AbstractClientScanner$1.hasNext(AbstractClientScanner.java:91)
        ... 15 more
        Caused by: org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: Expected nextCallSeq: 2 But the nextCallSeq got from client: 1; request=scanner_id: 27700695 number_of_rows: 100 close_scanner: false next_call_seq: 1
        at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3231)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30946)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2093)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
        at java.lang.Thread.run(Thread.java:745)

        at sun.reflect.GeneratedConstructorAccessor16.newInstance(Unknown Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
        at org.apache.hadoop.ipc.RemoteException.instantiateException(RemoteException.java:106)
        at org.apache.hadoop.ipc.RemoteException.unwrapRemoteException(RemoteException.java:95)
        at org.apache.hadoop.hbase.protobuf.ProtobufUtil.getRemoteException(ProtobufUtil.java:287)
        at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:214)
        at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:58)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:115)
        at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:91)
        at org.apache.hadoop.hbase.client.ClientScanner.loadCache(ClientScanner.java:375)
        ... 17 more
        Caused by: org.apache.hadoop.hbase.ipc.RemoteWithExtrasException(org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException): org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException: Expected nextCallSeq: 2 But the nextCallSeq got from client: 1; request=scanner_id: 27700695 number_of_rows: 100 close_scanner: false next_call_seq: 1
        at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3231)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:30946)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2093)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:101)
        at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107)
        at java.lang.Thread.run(Thread.java:745)

        at org.apache.hadoop.hbase.ipc.RpcClient.call(RpcClient.java:1457)
        at org.apache.hadoop.hbase.ipc.RpcClient.callBlockingMethod(RpcClient.java:1661)
        at org.apache.hadoop.hbase.ipc.RpcClient$BlockingRpcChannelImplementation.callBlockingMethod(RpcClient.java:1719)
        at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:31392)
        at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:173)
        ... 21 more