[HADOOP] API를 통해 Hbase 리전 크기 가져 오기
HADOOPAPI를 통해 Hbase 리전 크기 가져 오기
리전 수 및 / 또는 리전 크기 (storeFile 크기의 합)에 따라 리전 서버 전체의 리전 균형을 조정할 수있는 Hbase 용 밸런서 도구를 작성하려고합니다. 리전 크기 또는 관련 정보를 반환하는 Hbase API 클래스를 찾을 수 없습니다. 다른 테이블 / 지역 정보를 얻는 데 사용할 수있는 몇 가지 클래스를 이미 확인했습니다. org.apache.hadoop.hbase.client.HTable 및 HBaseAdmin.
필자가 생각할 수있는 또 다른 방법은 fileSystem의 디렉토리 크기를 반환하는 Hadoop 클래스 중 하나를 사용하는 것입니다. org.apache.hadoop.fs.FileSystem은 특정 HDFS 경로 아래에 파일을 나열합니다.
어떤 제안?
해결법
-
==============================
1.이 기능을 사용하여 관리되는 리전 분할을 수행 할 수 있지만이를 활용하여 자체로드 밸런싱 할 수 있습니다. 또한 MR 작업이 균등하게 분산되도록 노드 전체에 지역 (지정된 테이블의) 영역을 균등하게 분산시키기 위해로드 밸런싱을 수행했습니다.
이 기능을 사용하여 관리되는 리전 분할을 수행 할 수 있지만이를 활용하여 자체로드 밸런싱 할 수 있습니다. 또한 MR 작업이 균등하게 분산되도록 노드 전체에 지역 (지정된 테이블의) 영역을 균등하게 분산시키기 위해로드 밸런싱을 수행했습니다.
아마도 아래의 코드 스 니펫이 유용합니까?
final HBaseAdmin admin = new HBaseAdmin(conf); final ClusterStatus clusterStatus = admin.getClusterStatus(); for (ServerName serverName : clusterStatus.getServers()) { final HServerLoad serverLoad = clusterStatus.getLoad(serverName); for (Map.Entry<byte[], HServerLoad.RegionLoad> entry : serverLoad.getRegionsLoad().entrySet()) { final String region = Bytes.toString(entry.getKey()); final HServerLoad.RegionLoad regionLoad = entry.getValue(); long storeFileSize = regionLoad.getStorefileSizeMB(); // other useful thing in regionLoad if you like } }
-
==============================
2.기본로드 밸런서에 어떤 문제가 있습니까?
기본로드 밸런서에 어떤 문제가 있습니까?
위키에서 :
밸런서는 마스터에서 실행되어 클러스터의 영역을 재분배하는 주기적 작업입니다. hbase.balancer.period를 통해 구성되며 기본값은 300000 (5 분)입니다.
정말로 직접하고 싶다면 실제로 Hadoop API와 더 구체적으로는 FileStatus 클래스를 사용할 수 있습니다. 이 클래스는 파일의 클라이언트 측 정보를 나타내는 인터페이스 역할을합니다.
from https://stackoverflow.com/questions/14573466/get-hbase-region-size-via-api by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡-값없이 텍스트 출력을 수집하는 방법 (0) | 2019.08.16 |
---|---|
[HADOOP] SAS와의 Hadoop 연결 (0) | 2019.08.16 |
[HADOOP] 파이썬을 사용하여 JSON을 HDFS에 저장 (0) | 2019.08.16 |
[HADOOP] dse 4.5에서 스파크 마스터를 실행할 수없고 슬레이브 파일이 없습니다. (0) | 2019.08.16 |
[HADOOP] Amazon EMR 및 Hive : 외부 테이블에 하위 디렉토리를로드 할 때 "java.io.IOException : 파일이 아님"예외가 발생 함 (0) | 2019.08.16 |