Hbase客户端RPC超时

Hbase客户端RPC超时,hbase,Hbase,我正在运行Hbase 1.0.1/Hadoop 2.5.2。我试图在表上运行扫描,但RPC超时 我已将Hbase RPC超时更改为2分钟,我可以在UI中确认该超时 <property> <name>hbase.rpc.timeout</name> <value>120000</value> <source>hbase-site.xml</source> </property> 我尝试过更

我正在运行Hbase 1.0.1/Hadoop 2.5.2。我试图在表上运行扫描,但RPC超时

我已将Hbase RPC超时更改为2分钟,我可以在UI中确认该超时

<property>
  <name>hbase.rpc.timeout</name>
  <value>120000</value>
  <source>hbase-site.xml</source>
</property>
我尝试过更改缓存块大小,但这似乎没有任何区别


还有其他我错过的暂停时间吗。表中有很多行(百万),尽管扫描只返回10行(千行),但问题似乎只存在于一组特定的区域。

当您在客户端而不是在
hbase site.xml中创建连接时,请尝试此操作:

conf.set("hbase.rpc.timeout", "1800000")
这个应该有用

hbase org.apache.hadoop.hbase.mapreduce.Export -Dhbase.client.scanner.timeout.period=600000 tbname /path/to/hdfs

当服务器接收到扫描RPC请求时,时间限制计算为以下两个值中较小值的一半:hbase.client.scanner.timeout.periodhbase.RPC.timeout(默认值均为60000毫秒或一分钟)。 这就是为什么设置2分钟后,您的扫描会在60秒内超时

当达到时间限制时,服务器将返回到该时间点为止累积的结果。此结果集可能为空。如果您的使用模式包括扫描时间超过一分钟,则可以增加这些值

为确保超时时间不太短,您可以将hbase.cells.scanned.per.heartbeat.check配置为在超时检查发生之前必须扫描的最小单元格数。默认值为10000。值越小,超时检查越频繁

下面的链接可能有助于为Hbase扫描配置超时:


基于最初的答案。在打开与hbase群集的连接之前,我配置了属性hbase.client.scanner.timeout.periodhbase.rpc.timeout

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.HBaseConfiguration;

Configuration conf = HBaseConfiguration.create();

conf.set("hbase.rpc.timeout", "1800000");
conf.set("hbase.client.scanner.timeout.period", "1800000");

对于超时,您需要更改的是以下内容:

  <property>
    <name>hbase.client.operation.timeout</name>
    <value>10000</value>
  </property>

hbase.client.operation.timeout
10000

我也有同样的问题,你解决了吗?谢谢,最后我放弃了。我们正在写入的数据量开始超过我们HBase平台的吞吐量。由于原始事件数据与我们的事件计数器相比具有次要价值,我们决定停止在HBase中记录它。我们现在将其作为JSON记录写入文本文件,如果需要,我们仍然可以运行map reduce作业,并将HBase留给更重要的数据。HBase.rpc.timeout是客户端属性吗?是。最近一年我没有使用HBase,但你可以试试。我使用的是Phoenix,本期来自Phoenix层。你知道我怎么能在凤凰上加上这个吗
  <property>
    <name>hbase.client.operation.timeout</name>
    <value>10000</value>
  </property>