728x90
kafka-console-producer.sh 용도
토픽에 데이터 넣기용
key.separator
- 선언해야 레코드키 전송
- 메시지 키가 동일한 경우에는 동일한 파티션
- null인 경우는 라운드로빈
- bin/kafka-console-producer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka
- 명령어 치면 꺽쇠나옴
따로 이렇게 parse key 안주면 메시지 값은 hello 로 설정되지만 메시지 키는 null이고 라운드로빈으로 설정되는것임.
- bin/kafka-console-producer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --property "parse.key=true" --property "key.separator=:"
- k1에 대해서는 동일한 파티션에 들어가는 것임.
- 메시지키가 동일하면 암!튼! 동일한 파티션
kafka-console-consumer.sh 용도
토픽으로 전송한 데이터 확인
- 필수옵션이 카프카 클러스터 정보(부트스트랩 서버), 토픽이름, from-beginning 옵션(토픽에 저장된 처음 데이터부터 출력
- 메시지 키와 메시지값을 확인하고 싶으면 --property 옵션 사용
- --max-messages 옵션으로 최대 컨슘 메시지 개수 설정 가능
- --partition 옵션으로 특정 파티션만 컨슘 가능
- --group 옵션으로 컨슈머 그룹 기반으로 동작. 어느 레코드까지 읽었는지에 대한 데이터가 카프카 브로커에 저장.
- 컨슈머 그룹이란 특정 목적을 가진 컨슈머들을 묶음으로 사용하는 것.
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning --property print.key=true --property key.separator="-"
= 처음부터 읽는데 키도 같이 프린트해줘.
- bin kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning --max-messages 1
= 가장 처음 간게 출력
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning --partition 0
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning --partition 1
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic hello.kafka --from-beginning --group hello-group
- bin/kafka-topics.sh --bootstrap-server my_kafka:9092 --list
- 테스트용 토픽 하나 생성
- bin/kafka-topics.sh --create --bootstrap-server my_kafka:9092 --topic test
- 두 창을 띄워서
- bin/kafka-console-producer.sh --bootstrap-server my_kafka:9092 --topic test
- bin/kafka-console-consumer.sh --bootstrap-server my_kafka:9092 --topic test
해보면
: 실시간으로 produce & consume 보기 가능
'DevOps > Kafka' 카테고리의 다른 글
[카프카 프로그래밍] 그 외 커맨드 라인 툴, 카프카 토픽을 만드는 두가지 방법, 카프카 브로커와 로컬 커맨드 라인 툴 버전을 맞춰야 하는 이유 (0) | 2024.07.02 |
---|---|
[카프카 프로그래밍] kafka-consumer-groups.sh ⭐️ (0) | 2024.07.02 |
[카프카 프로그래밍] kafka-configs.sh (0) | 2024.06.30 |
[카프카 프로그래밍] kafka-topics.sh (0) | 2024.06.30 |
[카프카 프로그래밍] 로컬 카프카 실행 (0) | 2024.06.30 |
댓글