isPowerfulBlog

[Kafka] Consumer not receiving messages 본문

Data Engineering

[Kafka] Consumer not receiving messages

왕밤빵도라에몽 2022. 12. 2. 17:58

스크린샷, 2022-12-02 17-54-02

producer로 kafka server에 message를 publish했지만

스크린샷, 2022-12-02 17-49-15

consumer가 메세지를 받아오지 못하고 있다


해결

image

  • comsume해올 partition을 지정해주라고 한다

스크린샷, 2022-12-02 17-47-35-1

~/kafka$ ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --partition 0 --from-beginning
  • 성공
  • consume 실행 전 publish된 메세지도 가져오기 위해서는 --from-beginning 옵션을 붙여줘야한다

✅ 왜 partition을 지정해줘야할까?

image

__consumer_offsets라는 topic이 kafka에서 생성되었는지 확인해야 하며, 이 항목이 없을 때 파티션을 수동으로 지정해야 합니다. 이 주제가 만들어지지 않은 이유는 이 구성 옵션인 offset.topic.replication 때문입니다.요인, 브로커 수가 이 매개 변수보다 작으면 offset_filename이 생성되지 않습니다.

~/kafka$ ./bin/kafka-topics.sh --describe --bootstrap-server localhost:9092
  • topics 자세하게 보기

스크린샷, 2022-12-02 18-04-54

__consumer_offsets topic이 (0, 50) partition으로 생성이 되어있는데?,?
근데 왜 50개씩이나 생기지

image

default값이 50이라고 한다


References

https://stackoverflow.com/questions/34844209/consumer-not-receiving-messages-kafka-console-new-consumer-api-kafka-0-9

https://stackoverflow.com/questions/36015405/kafka-consumer-offsets-topic-has-excessive-partition-count