Hbase客户端RPC超时 [英] Hbase Client RPC Timeout
问题描述
我正在运行Hbase 1.0.1 / Hadoop 2.5.2。我试图在桌面上运行扫描,但我得到RPC超时。
I'm running Hbase 1.0.1/Hadoop 2.5.2. I'm trying to run a scan on a table but I'm getting RPC timeouts.
我已经将Hbase RPC超时更改为2分钟,我可以确认frm用户界面......
I've changed the Hbase RPC timeout to 2 minutes which I can confirm frm the UI...
<property>
<name>hbase.rpc.timeout</name>
<value>120000</value>
<source>hbase-site.xml</source>
</property>
...但是我的客户仍然在60s后超时......
... but my client is still timing out after 60s...
Caused by: java.io.IOException: Call to xxxxxxx/172.16.5.13:16020 failed on local exception: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=2968, waitTime=60001, operationTimeout=60000 expired.
at org.apache.hadoop.hbase.ipc.RpcClientImpl.wrapException(RpcClientImpl.java:1235)
at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1203)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient.callBlockingMethod(AbstractRpcClient.java:216)
at org.apache.hadoop.hbase.ipc.AbstractRpcClient$BlockingRpcChannelImplementation.callBlockingMethod(AbstractRpcClient.java:300)
at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$BlockingStub.scan(ClientProtos.java:31751)
at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:199)
at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:62)
at org.apache.hadoop.hbase.client.RpcRetryingCaller.callWithRetries(RpcRetryingCaller.java:126)
... 6 more
Caused by: org.apache.hadoop.hbase.ipc.CallTimeoutException: Call id=2968, waitTime=60001, operationTimeout=60000 expired.
at org.apache.hadoop.hbase.ipc.Call.checkAndSetTimeout(Call.java:70)
at org.apache.hadoop.hbase.ipc.RpcClientImpl.call(RpcClientImpl.java:1177)
... 12 more
我试过改变缓存块大小,但是这样做这似乎没有什么区别。
I've tried changing the cache block size but this doesn't seem to make any difference.
是否有其他超时,我错过了。表中有很多行(百万),尽管扫描只返回10的数千行,但问题似乎只与一组特定的区域有关。
Is there some other timeout that I'm missing. There are a lot of rows in the table (millions) although the scan only returns 10's of thousands but the problem only seems to be with a specific set of regions.
推荐答案
在客户端而不是 hbase-site.xml
中创建连接时尝试此操作:
Try this when you create connection in client side instead of in hbase-site.xml
:
conf.set("hbase.rpc.timeout", "1800000")
这篇关于Hbase客户端RPC超时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!