17장. 브로커를 추가하거나 제거하여 클러스터 스케일링


브로커를 추가하여 Kafka 클러스터를 스케일링하면 클러스터의 성능과 안정성을 높일 수 있습니다. 브로커를 더 많이 추가하면 사용 가능한 리소스가 증가하여 클러스터가 더 큰 워크로드를 처리하고 더 많은 메시지를 처리할 수 있습니다. 또한 더 많은 복제본과 백업을 제공하여 내결함성을 개선할 수 있습니다. 반대로 활용도가 낮은 브로커를 제거하면 리소스 소비를 줄이고 효율성을 개선할 수 있습니다. 중단 또는 데이터 손실을 방지하려면 스케일링을 신중하게 수행해야 합니다. 클러스터의 모든 브로커에 파티션을 재배포하면 각 브로커의 리소스 사용률이 줄어들어 클러스터의 전체 처리량이 증가할 수 있습니다.

참고

Kafka 주제의 처리량을 높이기 위해 해당 주제의 파티션 수를 늘릴 수 있습니다. 이를 통해 클러스터의 여러 브로커 간에 주제의 부하를 공유할 수 있습니다. 그러나 모든 브로커가 특정 리소스(예: I/O)에 의해 제한되는 경우 파티션을 추가하면 처리량이 증가하지 않습니다. 이 경우 클러스터에 브로커를 더 추가해야 합니다.

Kafka.spec.kafka.replicas 구성을 조정하면 복제본 역할을 하는 클러스터의 브로커 수에 영향을 미칩니다. 주제의 실제 복제 요소는 default.replication.factormin.insync.replicas 및 사용 가능한 브로커 수에 대한 설정에 따라 결정됩니다. 예를 들어 복제 요인 3은 주제의 각 파티션이 세 브로커에 복제되어 브로커 실패 시 내결함성을 보장합니다.

복제본 구성의 예

apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
  name: my-cluster
spec:
  kafka:
    replicas: 3
    # ...
  config:
      # ...
      default.replication.factor: 3
      min.insync.replicas: 2
 # ...

Kafka 구성을 통해 브로커를 추가할 때 노드 ID는 0(영)에서 시작되고 Cluster Operator는 가장 낮은 ID를 새 노드에 할당합니다. 브로커 제거 프로세스는 클러스터에서 가장 높은 ID가 있는 브로커 Pod에서 시작됩니다.

노드 풀 기능의 프리뷰를 사용하여 클러스터에서 노드를 관리하는 경우 KafkaNodePool.spec.replicas 구성을 조정하여 노드 풀의 노드 수를 변경합니다. 또한 노드 풀을 사용하여 기존 클러스터를 확장할 때 확장 작업에 노드 ID를 할당 할 수 있습니다.

브로커를 추가하거나 제거해도 Kafka는 파티션을 자동으로 다시 할당하지 않습니다. 가장 좋은 방법은 Cruise Control을 사용하는 것입니다. 클러스터를 확장 또는 축소할 때 Cruise Control의 add-brokersremove-brokers 모드를 사용할 수 있습니다.

  • Kafka 클러스터를 확장한 후 add-brokers 모드를 사용하여 기존 브로커에서 새로 추가된 브로커로 파티션 복제본을 이동합니다.
  • Kafka 클러스터를 축소하기 전에 remove-brokers 모드를 사용하여 제거할 브로커에서 파티션 복제본을 이동합니다.
Red Hat logoGithubredditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다. 최신 업데이트를 확인하세요.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

Theme

© 2026 Red Hat
맨 위로 이동