Getting cluster information and broker details from KRaft

김소은·2026년 1월 28일

GET INFORMATION ABOUT ACTIVE BROKER IDS

KRaft 모드에서 “현재 클러스터에 살아서 붙어 있는(active) broker id”를 조회하는 정석적인 방법만 정리해줄게.
(ZooKeeper 방식 ❌, KRaft 기준 ✅)


✅ 1️⃣ 가장 정확한 방법 (권장)

Broker API Versions 조회

bin/kafka-broker-api-versions.sh --bootstrap-server <broker-host:port>

📌 결과

goorm@goormui-MacBookPro kafka % bin/kafka-broker-api-versions.sh --bootstrap-server localhost:9092
localhost:9094 (id: 2 rack: null isFenced: false) -> (
...
)
localhost:9093 (id: 1 rack: null isFenced: false) -> (
...
)
localhost:9092 (id: 0 rack: null isFenced: false) -> (
...
)

✔ 의미

  • 출력에 나오는 broker id = 현재 active broker
  • 실제로 네트워크 연결 + 요청 응답 가능한 브로커만 표시됨
  • 실무에서 가장 많이 쓰는 방식

✅ 2️⃣ Admin API 기반 (메타데이터 조회)

토픽 메타데이터를 통해 active broker 확인

bin/kafka-topics.sh --bootstrap-server <broker-host:port> --describe

출력 예:

Leader: 2  Replicas: 2,3  Isr: 2,3

✔ 의미

  • Leader / Replicas / ISR에 등장하는 broker id는 active

  • 단점:

    • 토픽이 없으면 정보가 부족함
    • 간접적 방법

✅ 3️⃣ KRaft 컨트롤러 관점에서 조회 (참고용)

메타데이터 쿼럼 상태

bin/kafka-metadata-quorum.sh --bootstrap-server <broker-host:port> describe

여기서 보이는 voters / observers

  • 컨트롤러 노드 정보
  • 브로커 전체 리스트는 아님

👉 active broker 조회용으로는 부적합


❌ 하면 안 되는 방법 (KRaft에서 의미 없음)

bin/zookeeper-shell.sh
  • ZooKeeper 없음 → broker id 조회 불가

🎯 실무 기준 정리

목적명령
현재 active broker id 목록kafka-broker-api-versions.sh
브로커 설정 확인kafka-configs.sh --entity-type brokers
컨트롤러 상태kafka-metadata-quorum.sh describe
토픽 기준 간접 확인kafka-topics.sh --describe

⭐ 한 줄 요약

KRaft에서 active broker id 확인 =
kafka-broker-api-versions.sh --bootstrap-server 가 정답

profile
개발자

0개의 댓글