卡夫卡消费者没有通过Java读取主题数据
我正在向Kafka主题发送输入JSON数据。通过使用下面的命令,我可以在kafka consumer中看到相同的JSON数据卡夫卡消费者没有通过Java读取主题数据,java,apache-kafka,kafka-consumer-api,Java,Apache Kafka,Kafka Consumer Api,我正在向Kafka主题发送输入JSON数据。通过使用下面的命令,我可以在kafka consumer中看到相同的JSON数据 .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic mytopic --from-beginning 案例1: 但是当我试图从kafka consumer(java)读取记录时,在java控制台中没有得到任何记录。我已经尝试了此链接中给出的示例 案例2: 如
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic mytopic --from-beginning
案例1:
但是当我试图从kafka consumer(java)读取记录时,在java控制台中没有得到任何记录。我已经尝试了此链接中给出的示例案例2: 如果我从生产者(命令窗口)发送任何消息,也会进入消费者(命令窗口)。并且能够在java控制台中看到相同的记录。这一方案正在发挥作用
如果我通过java程序向主题提交数据。然后相同的JSON数据出现在使用者(命令窗口)中。但是没有进入java控制台。Case1不起作用。
Case2起作用。请告诉我是否需要进行任何配置?您需要设置ConsumerConfig.AUTO\u OFFSET\u RESET\u CONFIG才能从头开始读取
kafkaConsumerProperties.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG,"earliest");
同时还要确保您没有使用相同的使用者组ID运行不同的使用者进程,因为一个分区中的数据可能从一个进程读取,而另一个分区将看不到任何内容。假设生产者和使用者代码正确。
- 停止所有消费者李>
- 重置您的消费者组
- 现在开始你的消费者
bootstrap.servers: 'localhost:9092'
group.id: 'group_id'
auto.offset.reset: 'earliest'
key.deserializer: 'org.apache.kafka.common.serialization.*' //Replace * with class
value.deserializer: 'org.apache.kafka.common.serialization.*'
谢谢你需要确保你没有在结尾发送空行,只使用最新的
-使用auto.offset.reset:“最早的”
,如上面所述,或properties.put(ConsumerConfig.auto\u offset\u reset\u CONFIG,“最早的”)代码>
然后呢,,
consumer.seektobegining(consumer.assignment())代码>以确保。因此,您开始使用java,然后向主题发送新数据,但没有出现任何消息(案例1)?您是否仅使用一个JVM运行案例2?您是如何编写producer的?与我们共享您的代码。启动控制台使用者和自定义使用者。然后运行java producer。另外,确保制作人向卡夫卡发送消息。您是否在两个消费者上都看到消息?