05.KafkaClusterUpgrade,Expansion,Shrink
Kafka Cluster 확장
고유한 ID를 부여한 새로운 Broker를 Zookeeper Ensemble에 연결만 하면 됨 하지만, 자동으로 Partition을 새로운 Broker로 옮겨주지 않음
kafka-reassign-partitions 도구
Confluent Auto Data Balancer/Self-Balancing Cluster 기능

kafka-reassign-partitions 명령
계산 실수로 인한 문제 발생 가능성 존재

Confluent ADB(Auto Data Balancer)
Cluster내의 전체 Broker에 대한 Partition 리밸런싱을 명령어 하나로 자동 계산 및 수행
한번에 하나의 리밸런싱만 수행 가능
시스템 자원을 많이 사용 - Throttle(bytes/sec) 옵션으로 제어
Cluster내의 전체 Broker가 살아있을 때만 동작

Confluent Self-Balancing Cluster
On/Off 를 매우 간단하게 설정하며, 계산 및 실행을 모두 자동화
Broker 노드 추가시, 자동으로 리밸런싱 실행

Partition 이동
Downtime 없이 Partition을 이동
리밸런싱동안 Disk 사용률이 증가

Kafka Cluster 축소
Broker를 줄이는 이유?
Cluster 사용률이 낮을 경우, 비용을 아끼기 위해서
Broker 장비에 대한 유지보수 등
Broker 해제하는 방법
Auto Data Balancer 또는 kafka-reassign-partition을 사용하여, 제거할 Broker의 Partition들을 다른 Broker에 재할당
kafka-reassign-partition 는 Broker의 Partition들을 수작업으로 모두 옮겨야 함
Auto Data Balancer 는 --remove-broker-ids 옵션을 사용하여 제거할 Broker를 쉽게 지정하여 Partition 재할당
제거할 Broker를 Controlled Shutdown(kafka-sever-stop)을 실행
Self-Balancing Cluster 는 kafka-remove-brokers 명령으로 제거할 Broker를 Shutdown만 하면 자동으로 Partition 재할당
Broker 장비 교체
Broker 장비 교체 시, 교체 대상 Broker의 ID 만 동일하게 설정하고 새로운 Broker를 기동
Peak 시간을 피해서 수행해야 함
Broker는 Recovery 중에 가능한 한 빨리 데이터를 빨리 복사 이는 네트워크에 중요한 impact 발생 가능
Last updated