V
VCNC
April 23, 20131회
HBase 설정 최적화하기
간단 소개
비트윈 서비스의 HBase 최적화 경험을 바탕으로 HDFS, HBase 설정, GC 튜닝, Region 관리 등 다양한 최적화 기법을 소개합니다.
AI Summary
- HBase 최적화 배경 및 시스템 구성
- 비트윈 서비스의 메인 데이터베이스 및 DW 서버로 HBase를 사용하며, 성능 최적화를 위해 다양한 설정을 테스트함.
- Cloudera의 HBase 0.92.1-cdh4.1.2와 Hadoop 2.0.0-cdh4.1.2를 사용하고, AWS EC2 m2.4xlarge 인스턴스에 HDFS Datanode/HBase Regionserver를 배포하여 메모리 활용을 극대화함.
- HA 구성을 위해 Quorum Journaling node, Zookeeper Cluster, 다수의 HBase Master를 구성하여 SPOF를 제거함.
- HDFS 및 HBase 주요 설정 최적화
dfs.datanode.handler.count를 늘려 HDFS 요청 처리 성능을 향상시키고,ipc.server.tcpnodelay와ipc.client.tcpnodelay를 활성화하여 Latency를 줄임.hbase.regionserver.handler.count를 조정하여 Regionserver의 처리량을 개선하고,hfile.block.cache.size를 설정하여 Cache hit ratio를 높임.- Memstore 관련 설정(
hbase.regionserver.global_memstore.lowerLimit,upperLimit)을 조정하여 Write 성능과 GC 효율성을 균형 있게 유지함.
- Heap memory/GC 설정 및 기타 팁
- Concurrent-Mark-and-sweep GC를 사용하여 STW GC 시간을 줄이고, MSLAB을 활성화함.
- Major compaction과 Region split을 수동으로 관리하여 성능 변동을 제어하고, Bloom filter를 활용하여 Read 속도를 향상시킬 수 있음.