ZooKeeper 트러블슈팅

ZooKeeper 트러블슈팅 (Troubleshoot ZooKeeper)

ZooKeeper와 관련된 Pinot 문제를 진단·해결하는 방법을 안내해요.

출처: 문서

본문

개요 (Overview)

ZooKeeper는 Pinot 클러스터의 상태(테이블, 세그먼트, 인스턴스 메타데이터)를 저장하는 핵심 컴포넌트예요. ZooKeeper에 문제가 생기면 컴포넌트가 스스로를 등록하지 못하거나 클러스터 상태가 어긋날 수 있어요.

흔한 문제 (Common issues)

  • ZooKeeper 연결 장애 — 컴포넌트가 ZK에 연결하지 못해 시작하지 못하거나 상태 갱신이 멈춰요.
  • 앙상블 문제 — 리더 선출 실패, 쿼럼(quorum) 부족 등 ZK 앙상블 자체 문제.
  • 데이터 손상/유실 — 잘못된 종료 등으로 ZK 데이터가 어긋나 클러스터 상태가 불일치돼요.

진단 (Diagnosis)

  • 컴포넌트 로그에서 ZK 연결 오류, 세션 만료(session expired), 리더 선출 오류를 확인해요.
  • ZK 상태(stat, ruok 등 4-letter 명령)로 앙상블 건강을 확인해요.
  • 네트워크·DNS에서 ZK에 도달 가능한지 확인해요.

해결 방법 (Resolution)

  • ZK 앙상블의 쿼럼을 복구하고 컴포넌트 재시작으로 세션을 재연결해요.
  • ZK 세션 만료가 잦으면 세션 타임아웃을 늘리거나 네트워크 안정성을 개선해요.
  • ZK 데이터가 손상된 경우 백업에서 복구하는 절차를 따르세요.

모범 사례 (Best practices)

  • 프로덕션에서는 3노드 이상의 ZK 앙상블을 구성하고 별도 인프라에 둬요.
  • ZK를 인터넷에 노출하지 마세요(보안 고도화).

더 알아보기 (Learn more)