카프카를 사용하는 개발자라면 로컬 혹은 서버에서 브로커와 직접 통신을 해야 하는 경우가 있습니다. 이 때 별도 설치 없이 명령어 한 줄로 편리하게 쓸 수 있는 도구인 Kafkacat을 소개해드리겠습니다.

사용법

자세한 문법은 해당 링크를 참조하시기 바랍니다.

  • 토픽 목록 출력
    docker run --tty --interactive \
      confluentinc/cp-kafkacat \
      kafkacat -b kafka:9092 \
      -L
  • 토픽 메세지 컨슈밍
    docker run --tty --interactive \
      confluentinc/cp-kafkacat \
      kafkacat -b kafka:9092 \
      -t topic_name \
      -C
  • 토픽 메세지 포맷 지정 및 컨슈밍
    docker run --tty --interactive \
      confluentinc/cp-kafkacat \
      kafkacat -b kafka:9092 \
      -t topic_name \
      -f '\nKey (%K bytes): %k\t\nValue (%S bytes): %s\n\Partition: %p\tOffset: %o\n--\n' \
      -K: \
      -C
  • 토픽에 메세지 프로듀싱
    docker run --interactive \
      confluentinc/cp-kafkacat \
      kafkacat -b kafka:9092 \
      -t topic_name \
      -K: \
      -P <<EOF
    1:FOO
    2:BAR
    EOF