2
Hbase集羣,從主人,我可以看到其中一個地區比其他地區獲得更多的請求。但我無法看到此服務器中的哪個區域較熱,請求計數僅在區域服務器級別報告,而不在區域級別報告。我看到jira https://issues.apache.org/jira/browse/HBASE-7818已經解決了這個問題。但JMX轉儲沒有看到這樣的值。我怎麼看這個?或任何建議獲得每個地區讀/寫的請求數量?hbase熱點地區請求指標
Hbase集羣,從主人,我可以看到其中一個地區比其他地區獲得更多的請求。但我無法看到此服務器中的哪個區域較熱,請求計數僅在區域服務器級別報告,而不在區域級別報告。我看到jira https://issues.apache.org/jira/browse/HBASE-7818已經解決了這個問題。但JMX轉儲沒有看到這樣的值。我怎麼看這個?或任何建議獲得每個地區讀/寫的請求數量?hbase熱點地區請求指標
Hbase Java Client已經提供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的內容並得到你想要的。
太棒了!非常感謝。花費很長時間在JMX中進行搜索,似乎從未在地區級別上被淘汰。 – Nan