【问题标题】:Kafka console producer losing messagesKafka 控制台生产者丢失消息
【发布时间】:2017-02-28 07:09:29
【问题描述】:

我正在使用下面的 kafka 控制台生产者命令将文件的内容传递给 kafka 生产者。

sh ~/KAFKA_HOME/bin/kafka-console-producer.sh --broker-list xxx:9092,yyy:9092,zzz:9092 --topic HistLoad --new-producer < data.csv

Data.csv 文件有大约 700,000 条记录。我在消费者输出端只收到大约 699,800 条消息。

我检查了消费者的偏移计数器,根据偏移值,它在队列中只有 699,800 条消息。

您能帮我找出导致此消息丢失问题的原因吗?我需要检查什么才能找到根本原因。

【问题讨论】:

  • data.csv有多少行?根据我的经验,Kafka 会将每一行解释为一条新消息。您期待 700,000 还是 ~700,000?
  • @pjames 大约有 700,000 条消息,即文件中的每一行都是一条消息

标签: hadoop apache-kafka kafka-consumer-api kafka-producer-api bigdata


【解决方案1】:

这是因为控制台生产者默认设置为 acks=0。将 request-required-acks 设置为 1 应该没问题。

供您参考https://issues.apache.org/jira/plugins/servlet/mobile#issue/KAFKA-3129

【讨论】:

  • request-required-acks 的默认值为 1
猜你喜欢
  • 2021-01-09
  • 2019-09-24
  • 2016-11-13
  • 2016-07-19
  • 1970-01-01
  • 2019-08-10
  • 2020-09-16
  • 2020-08-13
  • 2018-09-15
相关资源
最近更新 更多