【问题标题】:--from-beginning parameter is not working in kafka-console-consumer.sh but --offset 0 --partition 0 works--from-beginning 参数在 kafka-console-consumer.sh 中不起作用,但 --offset 0 --partition 0 起作用
【发布时间】:2022-03-12 11:08:05
【问题描述】:

我正在尝试使用以下命令使用 kafka 主题中的消息。但它不起作用。

bin/kafka-console-consumer.sh --bootstrap-server BROKER_URL --topic TOPIC_NAME --from-beginning

我的同事使用了以下查询,它正在工作。

bin/kafka-console-consumer.sh --bootstrap-server BROKER_URL --topic TOPIC_NAME --offset 0 --partition 0

我不确定这两个命令之间有什么区别以及为什么第二个命令有效但不是第一个。

【问题讨论】:

  • 我尝试了这两个命令......它对我来说非常好。
  • 不工作是什么意思?有一些错误或消息没有被消费?
  • 它不起作用是什么意思?关于区别,对于第一个,您的消费者正在加入一个消费者组(具有自动生成的名称),它开始从 TOPIC_NAME 中的所有分区获取消息。对于第二个,它在 TOPIC_NAME 的分区 0 的开头使用搜索,因此如果它有更多分区,消费者将不会收到来自它们的消息。
  • 当我说它不起作用时,我的意思是该命令没有获取任何记录。该命令运行时,该主题有 8 条消息,但根本没有检索任何记录。我发送了新消息,但也没有被检索到。
  • 您可以尝试其他工具,例如 Kafkacat github.com/edenhill/kafkacat 但是,这些命令也适用于我。在任何情况下,您都没有说 Java、Kafka 或您的主机操作系统是什么版本(换句话说,这听起来像是您的机器的问题)

标签: apache-kafka kafka-consumer-api


【解决方案1】:

发生这种情况的一个原因是消费者是否属于消费者组。在这种情况下,会为消费者组建立一个偏移量,并且 --from-beginning 不会返回到偏移量 0。但是,在上面提供的命令中,我没有看到 (--group) 消费者组的任何提及在命令中。无论如何,就像其他提到的那样,--from-beginning 每次都适用于独立消费者。

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 1970-01-01
  • 2016-01-07
  • 2018-01-27
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-15
  • 1970-01-01
相关资源
最近更新 更多