kafka-dump-log
# 위 명령어를 이용해서 확인할 수 있음.
$ $CONFLUENT_HOME/bin/kafka-dump-log
위 명령어를 이용해서 log를 찍어볼 수 있다.
실습
# 토픽 삭제 및 생성
$ kafka-topics --bootstrap-server localhost:9092 --delete --topic multipart-topic
$ kafka-topics --bootstrap-server localhost:9092 --create --topic multipart-topic --partitions 3
# keyload.log 파일 생성하기
$ touch keyload.log
$ for i in {1..2000}
do
echo "$i:test key message sent test00000000000 $i" >> keyload.log
done
# keyload.log 파일을 넣는다. (2000개 메세지 넣기)
$ kafka-console-producer --bootstrap-server localhost:9092 --topic multipart-topic \
--property key.separator=: --property parse.key=true < keyload.log
# 해당 위치에 모든 데이터가 들어가있음. + 0번 파티션으로 이동. 여기에 모든 데이터가 있음. (.log 파일)
$ cd data/kafka-logs
$ cd multipart-topic-0
# .log 파일 읽어오기
# iterator를 이용해서 읽어오기
$ kafka-dump-log --deep-iteration --files /home/min/data/kafka-logs/multipart-topic-0/00000000000000.log --print-data-log
- 위 코드를 이용해서 테스트를 해볼 수 있다.
- keyload.log 파일을 통해서 Producer에 메세지를 전송한다.
- Producer에 전송된 메세지는 data/kafka-logs에 토픽별로 log 파일로 저장된다.
- 저장된 log 파일을 kafka-dump-log를 이용해서 읽어온다.
- 먼저 keyload.log 파일을 밀어넣는다.
- multipart-topic에 파티션별로 로그 정보가 만들어진 것을 볼 수 있다.
- 파티션으로 들어가보면 0000000000000000000.log 파일이 만들어져있고, 36199B의 데이터가 있는 것을 볼 수 있다.
- 실제 로그 데이터는 여기에 만들어져 있다.
- kafka-dump-logs 명령어를 이용하면 다음 데이터를 출력해준다.
- 출력되는 값에서 payload는 load 뒤에 나오는 값이, "key : value"의 value값이 된다.
'Kafka eco-system > Kafka' 카테고리의 다른 글
Kafka Broker : Replication (0) | 2022.11.29 |
---|---|
Kafka : 프로듀서의 전송 방법 (idempotence, at least once, at most once, exactly once) (0) | 2022.11.23 |
Kafka Consumer에 대한 총 정리 및 코드 분석 (1) | 2022.09.29 |