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를 인터넷에 노출하지 마세요(보안 고도화).