每秒 HBase 请求为零
HBase request per second is zero
我刚刚在 HBase 中创建了一个 table 并用数据填充了它。从 7 个区域服务器看来,数据已写入区域服务器 6 和 7。
但我不明白为什么服务器 6 和 7 的每秒请求数为零?
如果您通过 put(List<Put>)
批量填充表格,那么请求的数量会非常少,因为记录是分批发送的。
读取请求计数和写入请求计数是特定区域服务器自重启以来读取和写入请求的总数.这些数字仅出于性能原因保留在内存中,并通过 HBase UI 用于公开它们的 JMX 和区域服务器负载 API 公开。您可以使用 API(或 JMX)自己获取它们并导出到数据库以实现持久性。
每秒请求数 是相关区域服务器现在 的总请求率(读+写)。该速率是根据该区域服务器在一段时间内看到的请求数除以该时间段的长度的增量计算得出的。此特定细节(和此期间)可能因 HBase 版本而异。在HBase中2.x,由hbase.regionserver.metrics.period
控制;而在以前的版本中没有这样的设置并且时间段是固定的(如果我没记错的话)。
为了回答你的问题,总请求率和总请求数的比较并不是同类的。 速率仅反映当前流量,而计数反映自区域服务器重启以来的生命周期请求数。如果你真的考虑一下,生命周期的请求速率没有意义,因为任何实际用例都只与当前速率有关。
我刚刚在 HBase 中创建了一个 table 并用数据填充了它。从 7 个区域服务器看来,数据已写入区域服务器 6 和 7。
但我不明白为什么服务器 6 和 7 的每秒请求数为零?
如果您通过 put(List<Put>)
批量填充表格,那么请求的数量会非常少,因为记录是分批发送的。
读取请求计数和写入请求计数是特定区域服务器自重启以来读取和写入请求的总数.这些数字仅出于性能原因保留在内存中,并通过 HBase UI 用于公开它们的 JMX 和区域服务器负载 API 公开。您可以使用 API(或 JMX)自己获取它们并导出到数据库以实现持久性。
每秒请求数 是相关区域服务器现在 的总请求率(读+写)。该速率是根据该区域服务器在一段时间内看到的请求数除以该时间段的长度的增量计算得出的。此特定细节(和此期间)可能因 HBase 版本而异。在HBase中2.x,由hbase.regionserver.metrics.period
控制;而在以前的版本中没有这样的设置并且时间段是固定的(如果我没记错的话)。
为了回答你的问题,总请求率和总请求数的比较并不是同类的。 速率仅反映当前流量,而计数反映自区域服务器重启以来的生命周期请求数。如果你真的考虑一下,生命周期的请求速率没有意义,因为任何实际用例都只与当前速率有关。