Consumer 가 메세지를 소비할 때는 Offset 을 기준으로 소비한다.
이 Offset 을 매번 가장 오래된 메세지부터 읽도록 할 수 있다.
두 가지 방법이 있음.
1. offset reset 명령어 사용
kafka-consumer-groups.sh --bootstrap-server <host:port> --group <group> --topic <topic> --reset-offsets --to-earliest --dry-run
kafka-consumer-groups.sh --bootstrap-server <host:port> --group <group> --topic <topic> --reset-offsets --to-earliest --execute
첫번째 명령어는 내가 offset 을 reset 했을 때 어떻게 되는지 예상 결과값을 보여주는 dry run 을 실행
두번째 명령어는 실제 kafka topic 내의 offset 을 초기화 함.
다양한 옵션값들을 사용하는 방법은 아래 링크들 참고.
gist.github.com/marwei/cd40657c481f94ebe273ecc16601674b
www.letmecompile.com/kafka-consumer-offset-reset/
2. consumer group id 를 계속 바꿔줌
귀찮지만 group id 를 바꿔줌.
offset 은 group id 를 따라가기 때문에 group id 가 달라지면 초기 메세지부터 다시 offset 이 시작됨.
'Kafka' 카테고리의 다른 글
[Kafka] Rebalance 간략한 설명 (0) | 2020.10.29 |
---|---|
[Kafka] Partition 과 Consumer 개수 간 관계 (0) | 2020.10.29 |
[Kafka] Topic 내의 message 지우는 방법 (0) | 2020.10.21 |
[Kafka] path 에 있는 파일들 Kafka 로 Producing 하는 스크립트 (0) | 2020.10.21 |
[Kafka] 기본 명령어 (0) | 2020.10.19 |