'tuning'에 해당되는 글 2건

HBase 성능 튜닝 (시스템)


  • Garbage Collection
    • 마스터 서버는 무관하며, 리전 서버 중 MemStore에서 디스크로 Flush된 후 메모리 상
      빈 공간이 듬성듬성 생김
    • 128MB로 시작하여 모니터링에 따라 부하가 심한 리전 서버는 상향 조정
  • 압축
    • 사용하지 말아야 할 특별한 이유가 없다면 무조건 사용을 권장
    • GZIP for Cold data / Snappy or LZO for Hot data
    • 압축/해제에 따른 CPU 부하가 디스크에서 많은 데이터를 읽어야하는 오버헤드보다 적음
  • 리전 분할 관리
    • 일정하게 리전 크기가 증가하면 동시다발적 분할로 디스크 입출력 부하가 급증할 수 있음
    • 적은 개수에서 임계 파일 크기에 따라 적당한 키 값 범위로 단계적 분할을 수행하는 것이 좋으며, 이는 자동으로 수행하는 설정을 권장
    • BusyRegionSplitPolicy, ConstantSizeRegionSplitPolicy, DisabledRegionSplitPolicy, DelimitedKeyPrefixRegionSplitPolicy, KeyPrefixRegionSplitPolicy, and SteppingSplitPolicy

HBase 성능 튜닝 (클라이언트 API)


  • 대량 쓰기 연산을 수행할 때는 setAutoFlush(false)
  • 스캐너 캐시를 사용하라
  • 꼭 필요한 컬럼, 컬럼 Qualifier로 스캔 범위를 제한하라
  • 항상 finally로 ResultScanner를 닫자
  • 블록 캐시를 사용하라
  • 스캔 시 Row Key 값만 필요하다면 Filter 시 MUST_PASS_ALL 설정 후 스캔
  • Bulk Loading 시 약간의 위험을 감수할 수 있다면, Put 객체의 WAL을 끄자
  • 읽기 연산이 많으면 MemStore 감소 / 블록 캐시 증가
  • 쓰기 연산이 많으면 블록 캐시 감소 / MemStore 증가
  • 쓰기 부하가 많은 경우 WAL 개수를 줄여 디스크에 더 자주 flush하도록 설정

HBase 모니터링


  • 모니터링 도구
    • Ganglia: HBase에서 제공하는 도구
    • Nagios: HBase 프로세스들과 연동된 JMX 기반 도구
  • 측정 지표
    • Master 지표: 클러스터 요청 총 수, WAL 파일 분할 시간, 분할 크기
    • BlockCache 지표: 블록개수, 캐시크기, 가용공간, 삭제된 블록 등
    • Compaction 지표: 컴팩션 크기, 컴팩션 시간, 컴팩션 큐 크기
    • MemStore 지표: 멤스토어 크기, 플러시 큐 크기, 플러시 시간 등
    • Store 지표: Store file 수, Store 수 등
    • I/O 지표: 파일시스템 읽기/쓰기/동기화 응답시간
    • 기타 지표: 읽기/쓰기 요청 수, 요청 수, 온라인 상태 리전 수
  • 기타 오픈소스 도구

참조: HBase: The Definitive Guide

'Development > Hadoop' 카테고리의 다른 글

HBase Region Split Policy  (0) 2019.01.30
HBase 공부 - Scan, Filter  (0) 2019.01.24
HBase 공부 - HBase의 특징과 구조  (1) 2019.01.24
하둡 공부 - Yarn Scheduler  (0) 2019.01.24
하둡 공부 - Apache Hadoop 3.0.0  (0) 2019.01.24
블로그 이미지

나뷜나뷜

,