Pinot를 프로덕션에서 실행하기
Pinot를 프로덕션에서 실행하기 (Running Pinot in Production)
Apache Pinot를 프로덕션에서 안정적으로 운영하기 위한 가이드예요.
출처: 문서
본문
개요 (Overview)
프로덕션에서 Pinot을 운영하려면 용량 계획, 헬스 체크, 정상 운영 절차, 고가용성 구성이 필요해요. 이 가이드는 초기 크기 산정부터 운영 중 점검까지의 모범 사례를 다뤄요.
용량 계획 (Capacity planning)
- 데이터 크기 — 데이터 볼륨, 세그먼트 수, 인덱스 크기를 기반으로 서버 디스크·메모리를 산정해요.
- 쿼리 부하 — 예상 QPS와 P99 지연 SLA에 맞춰 브로커·서버 수를 계획해요.
- 실시간 적재 — 메시지/초에 맞춰 실시간 서버 수와 메모리를 산정해요.
- 복제 팩터 — 가용성을 위해
replication을 2 이상으로 설정해요.
헬스 체크 (Health checks)
- 컨트롤러, 브로커, 서버의
/health엔드포인트로 liveness·readiness를 모니터링해요. - Ideal State와 External View가 일치하는지 점검해요.
- Server Startup Status Checkers로 서버 시작 상태를 제어해요.
정상 운영 (Graceful operations)
- 업그레이드 — Upgrades 가이드에 따라 무중단 업그레이드를 수행해요.
- 리밸런스 — 서버 추가·제거 시 무중단 리밸런스를 사용해요.
- 백업/복구 — 딥 스토어 세그먼트와 ZooKeeper 유실을 대비한 재해 복구 계획을 세워요.
운영 모범 사례 (Operational best practices)
- CPU, 메모리, 디스크, 쿼리 지연, 소비 래그를 지속적으로 모니터링하세요.
- 한 번에 하나의 무거운 작업(리밸런스, 빅 푸시)을 수행해 리소스 경쟁을 줄이세요.
- 시크릿은 외부 저장소에서 주입하고, 보안을 활성화하세요.