서버 리밸런스 예시와 시나리오
서버 리밸런스 예시와 시나리오 (Rebalance Servers — Examples and Scenarios)
서버 리밸런스의 구체적인 예시와 다양한 시나리오를 안내해요.
출처: 문서
본문
개요 (Overview)
이 페이지는 서버 리밸런스를 실제로 수행하는 다양한 시나리오와 예시를 다뤄요. 각 시나리오에서 어떤 리밸런스 옵션을 사용하는지, 명령을 어떻게 실행하는지, 그리고 결과를 어떻게 확인하는지 보여줘요.
시나리오 예시 (Example scenarios)
- 서버 추가 후 확장 — 새 서버를 추가하고 리밸런스로 세그먼트를 새 서버에 분배하는 시나리오.
- 서버 제거 — 서버를 제거하기 전 리밸런스로 세그먼트를 다른 서버로 옮기는 시나리오.
- 부하 편향 재분배 — 특정 서버에 치우친 세그먼트를 고르게 재분배하는 시나리오.
- 무중단 리밸런스 —
downtime=false와minAvailableReplicas으로 가용성을 유지하며 이동하는 시나리오. - bestEfforts — 엣지 케이스에서 무중단 계약을 달성할 수 없을 때의 동작 예시.
명령 예시 (Command examples)
리밸런스는 pinot-admin.sh RebalanceTable 명령으로 수행해요. 시나리오에 따라 다음 옵션을 조합해 사용해요:
# 무중단 리밸런스 (기본)
pinot-admin.sh RebalanceTable -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable
# 최소 레플리카 수를 지정한 무중단 리밸런스
pinot-admin.sh RebalanceTable -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable -minAvailableReplicas 2
# 인스턴스 재할당 및 CONSUMING 포함
pinot-admin.sh RebalanceTable -zkAddress localhost:2181 -clusterName PinotCluster -tableName myTable -reassignInstances -includeConsuming
결과 확인 (Verifying results)
리밸런스 후에는 다음을 확인하세요:
- ExternalView가 대상 할당과 일치하는지(Ideal State와 External View의 정렬).
- 모든 세그먼트가 ONLINE 상태인지.
- 세그먼트 배치가 목표한 부하 분산을 이뤘는지.