개발/kafka

[kafka] rack awareness | rackAssignment 옵션 (+네이버의 파티션 할당 전략: RackAwareRangeAssignor)

ttoance 2025. 2. 1. 00:50
반응형

 

카프카인액션 6장 중에..

빅데이터 개념에 익숙하거나 이전에 하둡으로 작업해 본 적이 있는 사람들은 카프카를 알아가면서 랙 어웨어니스 rack awareness(머신이 호스트되는 물리적 서버 렉을 인지하는 것)나 파티션 partition 같은 친숙한 용어를 볼 수 있다. 카프카에는 파티션의 에플라카가 별도의 랙에 물리적으로 존재하도록 하는 랙 어웨어니스 기능이 있다.... 자체 카프카 클러스터를 설정할 때는 또 다른 클러스터인 어파치 주키퍼를 알고 있어야 한다. 

 

 

Kafka rack-awareness

  • 1개의 Rack에 다수의 브로커를 집중 하는 것은 위험하다
  • 다수의 Rack에 분산하여 브로커 옵션(broker.rack) 설정 및 배치한다
  • 파티션 할당 및 레플리케이션 동작시 특정 브로커에 몰리는 현상을 방지한다

Kafka rack-awareness

 

 

설정하는법

1️⃣ KafkaClusterClass에서 설정

  • 이 모델을 사용하면, 해당 클래스에서 생성된 모든 클러스터에 랙 인식 기능이 활성화
kind: KafkaClusterClass
spec:
  provisioner:
    cfk:
      rackAssignment:
        nodeLabels:
          - topology.kubernetes.io/zone

 

2️⃣ KafkaCluster에서 설정

  • 이 모델을 사용하면 개별 Kafka 클러스터 단위로 랙 인식을 설정
  • 각 클러스터마다 다른 레이블 요구 사항이 있는 경우, 이 방법을 사용하는 것이 권장
kind: KafkaCluster
spec:
  rackAssignment:
    nodeLabels:
      - topology.kubernetes.io/zone

 

네이버의 파티션 할당 전략: RackAwareRangeAssignor

네이버는 기본 제공되는 파티션 할당 전략이 랙 정보를 충분히 고려하지 않는다는 문제를 해결하기 위해 RackAwareRangeAssignor를 개발하였습니다. 이 전략은 다음과 같은 단계를 통해 파티션을 할당

  1. 리더 레플리카의 랙에 따른 할당: 컨슈머와 동일한 랙에 위치한 리더 레플리카의 파티션을 우선적으로 할당
  2. 팔로워 레플리카의 랙에 따른 할당: 동일한 랙에 리더 레플리카가 없을 경우, 동일한 랙에 위치한 팔로워 레플리카의 파티션을 할당
  3. 남은 파티션의 순차적 할당: 위의 두 단계를 통해 할당되지 않은 파티션을 순차적으로 할당

 

https://docs.confluent.io/operator/current/co-configure-rack-awareness.html

 

Configure Kafka Rack Awareness Using Confluent for Kubernetes | Confluent Documentation

The Rack Awareness feature in Kafka spreads replicas of the same partition across different racks to minimize data loss in the event of a rack failure. When you enable rack awareness in Confluent for Kubernetes (CFK), Kubernetes Availability Zones (AZs) ar

docs.confluent.io

 

https://joohs0505.tistory.com/235

 

하둡(Hadoop) - Apache Kafka

Apache Kafka의 등장 배경 💡 정의 Apache Kafka는 고성능 데이터 파이프 라인, 스트리밍 분석, 데이터 통합 및 미션 크리티컬 애플리케이션을 위해 수천 개의 회사에서 사용하는 오픈 소스 분산 이벤

joohs0505.tistory.com

 

 

Deview 2023 | 네이버스케일로카프카사용하기

https://deview.kr/data/deview/session/attach/[124]%EB%84%A4%EC%9D%B4%EB%B2%84%EC%8A%A4%EC%BC%80%EC%9D%BC%EB%A1%9C%EC%B9%B4%ED%94%84%EC%B9%B4%EC%BB%A8%EC%8A%88%EB%A8%B8%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0.pdf

 

반응형