티스토리 뷰

반응형

카프카에서 kafka-console-consumer 를 사용할 경우, JSON 이나 STRING 형태의 데이터가 잘 보이지만, AVRO 포맷으로 저장하는 데이터는 다음과 같이 깨지는 현상이 있다. 그래서 토픽의 결과를 깨지 않고 보려면 딴 명령을 사용해야 한다.

참고로 본인은 confluent 에서 제공하는 기본툴을 다운로드 받아서 사용했다.

./kafka-console-consumer \ --bootstrap-server 127.0.0.1:9092 \ --topic 토픽명 \ --from-beginning 
�߶�����xx-1234��吅����񑳂������my�� Ȼ �����
�¢�����xx-1234�Èă�������3�������my���

 

AVRO 토픽 결과 조회하기

avro 포맷은 스키마가 존재하는 데이터이다. 그리고 confluent 버전의 Kafka 를 사용하면 스키마레지스트리를 통해 스키마 정보가 관리하고 있을것이다. 이럴때 다음과 같이 kafka-avro-console-consumer 를 사용하고, 다음과 같이 프로퍼티 설정을 해주면 토픽을 확인 할 수 있다. 

# ----------------------------------------
# SchemaRegistry 에 스키마가 등록되어 있는 경우
# ----------------------------------------
./kafka-avro-console-consumer \
 --bootstrap-server 127.0.0.1:9092 \
 --topic <토픽명>  \
 --from-beginning \
 --value-deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer \
 --property schema.registry.url=http://127.0.0.1:8081 \
 --property value.deserializer=io.confluent.kafka.serializers.KafkaAvroDeserializer

자주 쓴다면 kafkactl 을 쓰세요

전에도 언급했지만, kafkactl 이라는 툴을 쓰면 카프카의 토픽생성/삭제/수정을 더 쉽게 관리 가능하다.

만약, kafkactl 이 설치되고 설정이 세팅된 상태라면 더 간단하게 확인이 가능하다. 

% kafkactl config use-context <설정이름>
% kafkactl consume <토픽명> --from-beginning

왠만하면 깔아서 쓰는걸 추천한다. 이 툴이 궁금하면 기존에 내가 포스팅한 글을 참고하자.

2021.11.01 - [플랫폼/Kafka] - [추천] Kafka 명령어 유틸리티 소개 - kafkactl (실무자가 강추)
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함