KafkaCat utill

이동명·2023년 11월 3일
0

kafkaConnect

목록 보기
3/9
post-thumbnail

Kafkacat의 활용

  • 하나의 command로 Consumer와 Producer를 모두 사용

  • 키값을 보다 쉽게 출력

  • 토픽 메시지의 포맷팅을 보다 다양하게 출력

  • 메시지 헤더(Header) 정보를 볼 수 있음

  • 내부 offsets값을 Reset하는데 주로 사용

설치

apt-get install kafkacat

활용 명령어


옵션으로 전체 토픽에 대한 메타 정보 확인

kafkacat -b localhost:9092 -L

특정 토픽의 메시지 읽어오기(키값은 나오지 않음)
kafkacat -b localhost:9092 -t spooldir-test-topic

-C 옵션부여하여 명확하게 Consumer 모드로 Topic의 메시지 읽어오기
kafkacat -b localhost:9092 -t spooldir-test-topic -C

특정 토픽의 메시지를 읽어오되 (Key)값도 함께 표시(키 seperator는 #)            
kafkacat -b localhost:9092 -t spooldir-test-topic -C -K#
                                
특정 토픽의 메시지를 읽어오되 json 포맷으로 출력(key, value값 자동 출력됨)
kafkacat -b localhost:9092 -t spooldir-test-topic -C -J -u -q | jq '.'

내부 토픽인 connect-offsets 토픽 읽기
kafkacat -b localhost:9092 -t connect-offsets -C -K#

내부 토픽 connect-offsets 의 특정 파티션의 메시지 읽기
kafkacat -b localhost:9092 -t connect-offsets -C -p 17 -K#

토픽 메시지를 특정 포맷으로 출력하기
kafkacat -b localhost:9092 -t connect-offsets -C -f '\nKey: %k\nValue: %s\nPartition: %p\nOffset: %o\n\n'

kafkacat 테스트용 샘플 토픽 생성
kafka-topics --bootstrap-server localhost:9092 --create --topic kcat-test-topic --partitions 3

Producer 모드로 메시지 전송 후 메시지 확인
kafkacat -b localhost:9092 -t kcat-test-topic -P -K#
kafkacat -b localhost:9092 -t kcat-test-topic -C -K#

connect-offsets 토픽에서 특정 connector의 offset 번호 reset하기

connect-offsets 토픽에서 connector별 key값과 partition 확인
kafkacat -b localhost:9092 -t connect-offsets -C -f '\nKey: %k\nValue: %s\nPartition: %p\nOffset: %o\n\n' -u -q


offset Reset을 적용. 대상 connector에 해당하는 key값의 value에 Null을 적용. 최종 메시지가 있는 partition을 찾아서 해당 partition에 Null 메시지를 적용해야 함
echo '["csv_spooldir_source",{"fileName":"csv-spooldir-source-01.csv"}]#' | \
    kafkacat -b localhost:9092 -t connect-offsets -P -Z -K# -p 17
profile
Web Developer

0개의 댓글