使用生产者我在本地主机上运行的Kafka服务器中输入了一些消息。 Zookeeper也在localhost上。我已将[{1}}用作here。
然而,消费者似乎没有收到任何消息! ConsumerGroupExample
脚本可以提取所有这些消息,但代码不能。怎么了?消费者代码与该页面上给出的完全相同。
kafka-console-consumer.sh
这是我发布消息的主题。这是制作人的代码:
zookeeper="localhost:2181", group id = "test-a", topic = "test".
答案 0 :(得分:0)
尝试将group.id
更改为其他内容并进行测试。
使用kafka-console-conumser.sh
测试使用者时,它消耗了该主题的数据并更改了偏移量。这就是为什么您的消费者代码无法使用相同的group.id
进行消费的原因。
此外,当您更改group.id
时,请添加到“使用者”:
props.put("auto.offset.reset", "earliest");
这将确保您的新使用者组从一开始就使用数据。
您的消费者没有收到任何数据:
您之前已经使用了相同的group.id进行消费,并且具有新的偏移量。仅当您的Broker中有新数据时,它才会消耗。 (更改group.id
,然后再次测试。)
尝试auto.offset.reset=earliest
。使用者将从头开始阅读消息,您可以使用它来测试您的使用者。也有从特定偏移量读取的方法。 seek()
,seekToBeginning()
和seekToEnd()
。