我在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
2条答案
按热度按时间ars1skjm1#
尝试在hbase-site.xml中将phoenix.query.timeoutms修改为更高的值。默认为10min。
refer:httpshttp://github.com/forcedotcom/phoenix/wiki/tuning
3qpi33ja2#
试着改变
hbase.regionserver.lease.period
以及hbase.client.scanner.timeout.period
在hbase服务器站点上。