2016-09-15 3 views
2

Hbase 클러스터, 마스터에서 볼 수있는 영역 중 하나가 다른 것보다 훨씬 많은 요청을받습니다. 하지만이 서버의 어느 영역이 더 뜨거웠는지 확인할 수 없으며 요청 수는 지역 서버 수준에서만보고되지만 지역 수준에서는보고되지 않습니다. https://issues.apache.org/jira/browse/HBASE-7818이 이미이 문제를 해결했습니다. 그러나 JMX 덤프는 그런 값을 보지 못합니다. 어떻게 보입니까? 또는 지역별 읽기/쓰기 requset 번호를 얻기위한 제안?hbase 핫 영역 요청 메트릭

답변

1

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.. 
    } 
} 

원하는 내용을 파싱합니다.

+0

굉장! 고마워. JMX에서 검색하는 데 오랜 시간을 보내고, 결코 지역 수준에서 버려진 적이없는 것 같습니다. – Nan

관련 문제