11장. Kafka 정적 할당량 플러그인을 사용하여 브로커에 제한 설정
Kafka 정적 할당량 플러그인은 기술 프리뷰 전용입니다. 기술 프리뷰 기능은 Red Hat 프로덕션 서비스 수준 계약(SLA)에서 지원되지 않으며 기능적으로 완전하지 않을 수 있습니다. Red Hat은 프로덕션 환경에서 기술 프리뷰 기능을 구현하는 것을 권장하지 않습니다. 이 기술 프리뷰 기능을 통해 향후 제품 혁신에 조기에 액세스할 수 있으므로 개발 프로세스 중에 기능을 테스트하고 피드백을 제공할 수 있습니다. Red Hat 기술 프리뷰 기능의 지원 범위에 대한 자세한 내용은 기술 프리뷰 기능 지원 범위를 참조하십시오.
Kafka 정적 할당량 플러그인을 사용하여 Kafka 클러스터의 브로커에 처리량 및 스토리지 제한을 설정합니다. Kafka 구성 파일에 속성을 추가하여 플러그인을 활성화하고 제한을 설정합니다. 브로커와 상호 작용하는 클라이언트에 제한을 두도록 바이트 비율 임계값 및 스토리지 할당량을 설정할 수 있습니다.
생산자 및 소비자 대역폭에 대한 바이트 비율 임계값을 설정할 수 있습니다. 총 제한은 브로커에 액세스하는 모든 클라이언트에 분산됩니다. 예를 들어 생산자를 위해 바이트 비율 임계값을 40MBps로 설정할 수 있습니다. 두 생산자가 실행 중인 경우 각각 처리량이 20MB로 제한됩니다.
스토리지 할당량은 소프트 제한과 하드 제한 간에 Kafka 디스크 스토리지 제한을 제한합니다. 제한은 사용 가능한 모든 디스크 공간에 적용됩니다. 생산자는 소프트 제한과 하드 제한 사이에 점진적으로 느려집니다. 제한을 통해 디스크가 너무 빨리 채워지고 용량을 초과할 수 있습니다. 전체 디스크로 인해 수정하기 어려운 문제가 발생할 수 있습니다. 하드 제한은 최대 스토리지 제한입니다.
JBOD 스토리지의 경우 제한이 모든 디스크에 적용됩니다. 브로커가 두 개의 1TB 디스크를 사용하고 할당량이 1.1TB인 경우 하나의 디스크가 채워지고 다른 디스크는 거의 비어 있습니다.
사전 요구 사항
- Apache Kafka의 스트림 은 각 호스트에 설치되고 구성 파일을 사용할 수 있습니다.
프로세스
Kafka 구성 속성 파일을 편집합니다.
플러그인 속성은 이 예제 구성에 표시됩니다.
Kafka 고정 할당량 플러그인 구성의 예
# ... client.quota.callback.class=io.strimzi.kafka.quotas.StaticQuotaCallback 1 client.quota.callback.static.produce=1000000 2 client.quota.callback.static.fetch=1000000 3 client.quota.callback.static.storage.soft=400000000000 4 client.quota.callback.static.storage.hard=500000000000 5 client.quota.callback.static.storage.check-interval=5 6 # ...
기본 구성 파일을 사용하여 Kafka 브로커를 시작합니다.
su - kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties
Kafka 브로커가 실행 중인지 확인합니다.
jcmd | grep Kafka