hbase热区请求指标

时间:2016-09-15 03:11:08

标签: hbase

Hbase集群,从主人那里,我可以看到其中一个地区获得了比其他地区更多的请求。但我无法看到此服务器中哪个区域更热,请求计数仅报告区域服务器级别,而不是区域级别。我看到jira https://issues.apache.org/jira/browse/HBASE-7818已经解决了这个问题。但是JMX转储没有看到这样的价值。我怎么看这个?或任何建议获得每个地区的读/写请求数?

1 个答案:

答案 0 :(得分:2)

Hbase Java客户端已提供API以获取区域级负载。
以我正在使用的1.2.0-cdh5.7.0客户端为例,YMMV取决于hbase-client的版本。

ClusterStatus clusterStatus = yourHbaseConnection.getAdmin().getClusterStatus();  
Collection<ServerName> servers = clusterStatus.getServers();

for (ServerName serverName : servers) {
    ServerLoad serverLoad = clusterStatus.getLoad(serverName);
    Map<byte[], RegionLoad> regionLoads = serverLoad.getRegionsLoad();

    for (Map.Entry<byte[], RegionLoad> regionLoad : regionLoads.entrySet()) {
        // regionLoad is all you want, contains readRequest, writeRequest etc..
    }
}

解析regionLoad的内容,得到你想要的东西。

相关问题