728x90
Kafka Cluster 확장

- 고유한 ID를 부여한 새로운 Broker를 Zookeeper Ensemble에 연결만 하면 됨
- 하지만, 자동으로 Partition을 새로운 Broker로 옮겨주지 않음
- kafka-reassign-partitions 도구
- Confluent Auto Data Balancer/Self-Balancing Cluster 기능
kafka-reassign-partitions 명령
리밸런싱을 직접 계산해서 Topic 별로 실행해야 함( 계산 실수로 인한 문제 발생 가능성 존재)

Confluent ADB(Auto Data Balancer)
Broker 전체에 대한 Partition 리밸런싱을 자동화(Cluster내의 전체 Broker에 대한 Partition 리밸런싱을 명령어 하나로 자동 계산 및 수행)


- 한번에 하나의 리밸런싱만 수행 가능
- 시스템 자원을 많이 사용 - Throttle(bytes/sec) 옵션으로 제어
- Cluster내의 전체 Broker가 살아있을 때만 동작
Confluent Self-Balancing Cluster
계산 및 실행을 모두 자동화(On/Off를 매우 간단하게 설정하며, 계산 및 실행을 모두 자동화)
Broker 노드 추가 시, 자동으로 리밸런싱 실행

Partition 이동
Replica를 생성 후 기존 Replica 삭제하는 방식(Downtime 없이 Partition을 이동)
리밸런싱동안 Disk 사용률이 증가

Kafka Cluster 축소
Broker를 줄이는 이유?
- Cluster 사용률이 낮을 경우, 비용을 아끼기 위해서
- Broker 장비에 대한 유지보수 등
Broker 해제하는 방법
- Auto Data Balancer 또는 kafka-reassign-partition을 사용하여, 제거할 Broker의 Partition들을 다른 Broker에 재할당 쉽게 지정하여 Partition 재할당
- kafka-reassign-partition 는 Broker의 Partition들을 수작업으로 모두 옮겨야 함
- Auto Data Balancer 는 --remove-broker-ids 옵션을 사용하여 제거할 Broker를
- 제거할 Broker를 Controlled Shutdown(kafka-sever-stop)을 실행
Self-Balancing Cluster는 kafka-remove-brokers 명령으로 제거할 Broker를 Shutdown만 하면 자동으로 Partition 재할당
Broker 장비 교체
Broker 장비 교체 시, 교체 대상 Broker의 ID 만 동일하게 설정하고 새로운 Broker를 기동
주의할 점: Peak 시간을 피해서 수행해야 함
이유 : Broker는 Recovery 중에 가능한 한 빨리 데이터를 빨리 복사 이는 네트워크에 중요한 impact 발생 가능
728x90
'Kafka 완전 정복 : 클러스터 구축부터 MSA 환경 활용까지 > 기본,심화 개념, 아키텍처와 생태계' 카테고리의 다른 글
| Ch04. Apache Kafka Connect 개념 및 이해 - Single Message Transform(SMT), Converter (0) | 2023.05.07 |
|---|---|
| Ch04. Apache Kafka Connect 개념 및 이해 - Apache Kafka Connect (0) | 2023.05.07 |
| Ch03. Apache Kafka 구성 및 관리 - Log Retention, Cleanup Policy (0) | 2023.05.03 |
| Ch03. Apache Kafka 구성 및 관리 - Installation, Cluster Configuration (0) | 2023.05.03 |
| Ch03. Apache Kafka 구성 및 관리 - Kafka in Real Environment (0) | 2023.05.02 |