HBase 설정 최적화하기
두줄요약
HBase·HDFS 설정을 읽기 중심 서비스와 OLAP 환경에 맞춰 최적화한 사례를 정리했습니다. 캐시·메모리·네트워크·컴팩션 설정의 효과와 운영상 주의점을 설명합니다.
구조와 흐름
- HBase를 HDFS 기반 분산 컬럼 지향 NoSQL DB로 구성하고 RegionServer 추가 기반 수평 확장
- EC2 m2.4xlarge의 대용량 메모리를 Read/Write 캐시로 활용하고 HDFS Datanode·RegionServer 동시 배치
- Active-standby NameNode, Zookeeper Cluster, 다중 HBase Master로 데이터 저장 계층 SPOF 제거
성능/운영 포인트
- RegionServer handler count를 10에서 100으로 높여 약 2배 Throughput 확보
- block cache 50%, memstore lower/upper limit 20%·30%로 읽기 중심 워크로드의 캐시와 쓰기 버퍼 조정
- tcpnodelay 활성화 후 Get/Put tail latency 완화 및 평균 Latency 절반 수준 감소
주의할 점
- 복제 수 증가는 데이터 안정성 향상 대신 Write 속도 저하
- block cache와 memstore upper limit 합계 80% 제한, 과도한 Heap 할당에 따른 GC 문제 고려
- Read short-circuit의 checksum 및 Major compaction 관련 버그 가능성 확인 필요
적용해볼 점
- Major compaction은 off-peak 시간대에 수동 실행하고 Region split도 데이터량에 맞춰 수동 조정
- CMS GC, MSLAB, GC 로그 분석으로 Stop-the-world GC 시간 관찰
- Bloom filter는 StoreFile 수, 캐시 적중률, 테이블 스키마를 기준으로 ROW·ROWCOL 옵션 검토

