Kafka服务器包含消息,但消费者无法接收任何消息

时间:2015-03-27 09:44:17

标签: java apache-kafka

使用生产者我在本地主机上运行的Kafka服务器中输入了一些消息。 Zookeeper也在localhost上。我已将[{1}}用作here

然而,消费者似乎没有收到任何消息! ConsumerGroupExample脚本可以提取所有这些消息,但代码不能。怎么了?消费者代码与该页面上给出的完全相同。

kafka-console-consumer.sh

这是我发布消息的主题。这是制作人的代码:

zookeeper="localhost:2181", group id = "test-a", topic = "test". 

1 个答案:

答案 0 :(得分:0)

尝试将group.id更改为其他内容并进行测试。

使用kafka-console-conumser.sh测试使用者时,它消耗了该主题的数据并更改了偏移量。这就是为什么您的消费者代码无法使用相同的group.id进行消费的原因。

此外,当您更改group.id时,请添加到“使用者”:

props.put("auto.offset.reset", "earliest");

这将确保您的新使用者组从一开始就使用数据。

您的消费者没有收到任何数据:

  1. 您之前已经使用了相同的group.id进行消费,并且具有新的偏移量。仅当您的Broker中有新数据时,它才会消耗。 (更改group.id,然后再次测试。)

  2. 尝试auto.offset.reset=earliest。使用者将从头开始阅读消息,您可以使用它来测试您的使用者。也有从特定偏移量读取的方法。 seek()seekToBeginning()seekToEnd()