我在 HBase 上有一堆行,它们存储不同大小的数据(0.5 MB 到 120 MB)。当扫描仪缓存设置为 100 时,响应有时会变得太大,导致区域服务器崩溃。我尝试过但找不到解决方案。谁能帮我找到一下
- HBase 支持的最大响应大小是多少?
- 有没有办法限制服务器的响应大小,以便将结果限制为特定值(回答第一个问题),以便在达到限制时立即返回结果?<
- 如果单个记录超过此限制,会发生什么情况?应该有办法增加它,但我不知道如何。
最佳答案
<强>1。 HBase 支持的最大响应大小是多少?
它是Long.MAX_VALUE,由常量DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE表示
public static long DEFAULT_HBASE_CLIENT_SCANNER_MAX_RESULT_SIZE = Long.MAX_VALUE;
<强>2。有没有办法限制服务器的响应大小,以便将结果限制为特定值(回答第一个问题),以便在达到限制时立即返回结果?
您可以使用属性hbase.client.scanner.max.result.size来处理此问题。它允许我们设置扫描仪一次性获取的最大大小而不是行数。它实际上是调用扫描器的 next 方法时返回的最大字节数。
<强>3。如果单个记录超过此限制会发生什么?应该有办法增加它,但我不知道如何。
完整记录(行)即使超出限制也会返回。
关于memory-management - Hbase 响应大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19304145/