第1步:仅使用一个分区创建主题:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
第2步:向主题test
发送一些消息。
第3步:在主题test
上开始消费。它可以获取在步骤2中推送的所有消息。
它适用于带有1个分区的主题。
但是当我尝试使用带有2个分区的主题时,消费者只会获取消费者启动后生成的消息。
重现:
第1步:仅使用一个分区创建主题:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test2
第2步:向主题test2
发送一些消息。
第3步:在主题test2
上启动消费者。它无法在步骤2中获取消息。
第4步:让消费者继续关注,向主题test2
发出一些消息,然后现在消费者可以获得消息。
它运作正常吗?或者我想念什么?
答案 0 :(得分:1)
auto.offset.reset选项的默认值为'最新'
如果要阅读在消费者之前发送的消息 set auto.offset.reset:earliest