timeoutexception—phoenix对hbase数据的查询中出现超时异常

svdrlsy4  于 2021-06-09  发布在  Hbase
关注(0)|答案(2)|浏览(613)

我在hbase中有一个表(比如t1),我在上面运行 select count(*) from T1 它包含超过6000万行。但它给出了以下超时异常错误。我不能更改phoenix的超时参数吗?

com.salesforce.phoenix.exception.PhoenixIOException: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
    at com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107)
    at com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:217)
    at com.salesforce.phoenix.iterate.ConcatResultIterator.getIterators(ConcatResultIterator.java:54)
    at com.salesforce.phoenix.iterate.ConcatResultIterator.currentIterator(ConcatResultIterator.java:76)
    at com.salesforce.phoenix.iterate.ConcatResultIterator.next(ConcatResultIterator.java:96)
    at com.salesforce.phoenix.iterate.GroupedAggregatingResultIterator.next(GroupedAggregatingResultIterator.java:78)
    at com.salesforce.phoenix.iterate.UngroupedAggregatingResultIterator.next(UngroupedAggregatingResultIterator.java:49)
    at com.salesforce.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:741)
    at com.salesforce.phoenix.jdbc.PhoenixConnection.executeStatements(PhoenixConnection.java:113)
    at com.salesforce.phoenix.util.PhoenixRuntime.executeStatements(PhoenixRuntime.java:260)
    at com.salesforce.phoenix.util.PhoenixRuntime.main(PhoenixRuntime.java:207)
Caused by: java.util.concurrent.ExecutionException: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
    at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:262)
    at java.util.concurrent.FutureTask.get(FutureTask.java:119)
    at com.salesforce.phoenix.iterate.ParallelIterators.getIterators(ParallelIterators.java:211)
    ... 9 more
Caused by: com.salesforce.phoenix.exception.PhoenixIOException: 136520ms passed since the last invocation, timeout is currently set to 60000
    at com.salesforce.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:107)
    at com.salesforce.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:62)
    at com.salesforce.phoenix.iterate.TableResultIterator.next(TableResultIterator.java:86)
    at com.salesforce.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:110)
    at com.salesforce.phoenix.iterate.SpoolingResultIterator.<init>(SpoolingResultIterator.java:75)
    at com.salesforce.phoenix.iterate.SpoolingResultIterator$SpoolingResultIteratorFactory.newIterator(SpoolingResultIterator.java:69)
    at com.salesforce.phoenix.iterate.ParallelIterators$2.call(ParallelIterators.java:184)
    at com.salesforce.phoenix.iterate.ParallelIterators$2.call(ParallelIterators.java:174)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1146)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:679)
Caused by: org.apache.hadoop.hbase.client.ScannerTimeoutException: 136520ms passed since the last invocation, timeout is currently set to 60000
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:283)
    at com.salesforce.phoenix.iterate.ScanningResultIterator.next(ScanningResultIterator.java:57)
    ... 11 more
Caused by: org.apache.hadoop.hbase.UnknownScannerException: org.apache.hadoop.hbase.UnknownScannerException: Name: -3353955827223074008
    at org.apache.hadoop.hbase.regionserver.HRegionServer.next(HRegionServer.java:2590)
    at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:616)
    at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:320)
    at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1426)

    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
    at org.apache.hadoop.hbase.RemoteExceptionHandler.decodeRemoteException(RemoteExceptionHandler.java:96)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:149)
    at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:42)
    at org.apache.hadoop.hbase.client.ServerCallable.withRetries(ServerCallable.java:163)
    at org.apache.hadoop.hbase.client.ClientScanner.next(ClientScanner.java:274)
    ... 12 more
ars1skjm

ars1skjm1#

尝试在hbase-site.xml中将phoenix.query.timeoutms修改为更高的值。默认为10min。
refer:httpshttp://github.com/forcedotcom/phoenix/wiki/tuning

3qpi33ja

3qpi33ja2#

试着改变 hbase.regionserver.lease.period 以及 hbase.client.scanner.timeout.period 在hbase服务器站点上。

相关问题