【问题标题】:HBase request per second is zero每秒 HBase 请求为零
【发布时间】:2018-11-05 08:10:34
【问题描述】:

我刚刚在 HBase 中创建了一个表并用数据填充了它。从 7 个区域服务器看来,数据已写入区域服务器 6 和 7。

但我不明白为什么服务器 6 和 7 的每秒请求数为零?

【问题讨论】:

    标签: hadoop hbase


    【解决方案1】:

    读取请求计数写入请求计数是特定区域服务器自重启后看到的读取和写入请求的总数。这些数字仅出于性能原因保留在内存中,并通过 HBase UI 用来公开它们的 JMX 和 regionserver 加载 API 公开。您可以使用 API(或 JMX)自己获取它们并导出到数据库以进行持久化。

    每秒请求数是相关区域服务器现在看到的总请求(读+写)的速率。该速率是根据该区域服务器在一段时间内看到的请求数的增量除以该时间段的长度来计算的。这个特定的细节(和这个时期)可能会因 HBase 版本而异。在 HBase 2.x 中,由hbase.regionserver.metrics.period 控制;而在以前的版本中没有这样的设置,并且期间是固定的(如果我没记错的话)。

    为了回答您的问题,总请求率和总请求数的比较不是苹果对苹果。 速率仅反映当前流量,而计数反映区域服务器重启后的生命周期请求数。如果你真的考虑一下,生命周期的请求速率是没有意义的,因为任何真实的用例仅与当前速率有关。

    【讨论】:

      【解决方案2】:

      如果您通过put(List<Put>) 批量填写表格,则只有极少量的请求,因为记录是分批发送的。

      【讨论】:

      • 有道理.. 但是零请求?
      • 估计太低了,无法显示。
      • @BenWatson 您所说的区别在于 RPC 的数量和操作的数量。 HBase UI 显示操作数(读、写、总数)而不是 RPC 数。
      猜你喜欢
      • 1970-01-01
      • 2021-07-09
      • 2012-06-23
      • 1970-01-01
      • 2012-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多