这里显示errorCode=7是time out了,不妨把request.timeout.ms调高一点
topic被订阅时是删除不了的,检查一下是否被订阅了
如果你的消费者从一开始就进行消费,那可以通过以下命令来查看:
## 显示某个消费组的消费详情(0.10.1.0版本+)
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group my-group
ps:kafka默认7天清理一次数据,所以你的消费者不能有中断,不然数据就不准了。
消费者是流式的,一直在拉取数据,一次拉取一个批次(约2000条),然后进行处理的,你取总体的最大数,虽然不知道你做什么,你可以基于每条消息的offset
,这个是线性递增的,当前消息的下标,也是该条消息从开始到现在的总数。
跟订报纸一样,当你从订阅报纸的那一刻,报社才知道你,后续的报纸才会发送给你(之前的不会给你),所以你需要优先启动消费者。
你可以尝试把消费者停了,然后在发几条消息,重新启动消费者,你就能消费到生产者发的消息了,因为你(消费者组)已经告知了报社,所以报社有了你的记录,就给你补发了。
原来是需要我再启动一个线程来重新发消息才行;因为我前面直接用命令窗口开启消费者拉取topic消息的时候,它会把我消费者开启之前发出的消息也拉取到;然后你这段代码不能直接自己去抓取消费者开启前发送的消息,只能是消费者开启后,再开启生产者发新消息,消费者才能收到。这个原因是什么呢?