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, 메모리, 디스크, 쿼리 지연, 소비 래그를 지속적으로 모니터링하세요.
  • 한 번에 하나의 무거운 작업(리밸런스, 빅 푸시)을 수행해 리소스 경쟁을 줄이세요.
  • 시크릿은 외부 저장소에서 주입하고, 보안을 활성화하세요.

더 알아보기 (Learn more)