kafka-dump-log 명령어로 로그 파일의 메세지 내용 확인

    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
    • 위 코드를 이용해서 테스트를 해볼 수 있다.
      1. keyload.log 파일을 통해서 Producer에 메세지를 전송한다.
      2. Producer에 전송된 메세지는 data/kafka-logs에 토픽별로 log 파일로 저장된다.
      3. 저장된 log 파일을 kafka-dump-log를 이용해서 읽어온다. 

    • 먼저 keyload.log 파일을 밀어넣는다. 

    • multipart-topic에 파티션별로 로그 정보가 만들어진 것을 볼 수 있다. 

    • 파티션으로 들어가보면 0000000000000000000.log 파일이 만들어져있고, 36199B의 데이터가 있는 것을 볼 수 있다.
    • 실제 로그 데이터는 여기에 만들어져 있다. 

    • kafka-dump-logs 명령어를 이용하면 다음 데이터를 출력해준다.
    • 출력되는 값에서 payload는 load 뒤에 나오는 값이, "key : value"의 value값이 된다. 

    댓글

    Designed by JB FACTORY