客户端在调用HBase端点时断开连接

时间:2014-01-23 15:20:21

标签: java hbase

我正在使用hbase 0.94.15(没有群集设置)。

我调整了BulkDeleteEndpoing(请参阅org.apache.hadoop.hbase.coprocessor.example.BulkDeleteEndpoint)并从客户端调用它。

它适用于有限的数据量(可能是我们的表设计大约20.000行),但之后我收到包含responseTooSlowexecCoprocessor的错误。

我读过这是由于客户端断开连接,因为它在60秒内没有得到任何响应(默认hbase.rpc.timeout)(https://groups.google.com/forum/#!topic/nosql-databases/FPeMLHrYkco)。

我现在的问题是,如何在端点完成之前阻止客户端关闭连接?

  • 我不想将默认的rpc超时设置为某个较高的值(设置此特定调用的超时只是一个选项,但只是一种解决方法)
  • 在某些邮件列表中,我发现了一条评论,它能够轮询以获取端点的状态,但是(1)我找不到该网站了,(2)我可以找不到有关这个想法的任何其他信息。也许它可以在更新的版本中使用?

赞赏任何其他想法

1 个答案:

答案 0 :(得分:0)

我们可能会尝试限制扫描对象的范围(可能正在调用 Scan.setMaxResultsPerColumnFamily())并在循环中调用协处理器, 在每次迭代中更新startKey。需要弄清楚如何更新 每次调用结束时的startKey。