Kay*_*ayV 3 apache-kafka kafka-consumer-api kafka-producer-api kafka-topic
我在本地机器上安装了 Kafka,并启动了 zookeeper 和一个代理服务器。
现在我有一个具有以下描述的主题:
~/Documents/backups/kafka_2.12-2.2.0/data/kafka$ kafka-topics.sh --zookeeper 127.0.0.1:2181 --topic edu-topic --describe
Topic:edu-topic PartitionCount:3 ReplicationFactor:1 Configs:
Topic: edu-topic Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Topic: edu-topic Partition: 1 Leader: 0 Replicas: 0 Isr: 0
Topic: edu-topic Partition: 2 Leader: 0 Replicas: 0 Isr: 0
Run Code Online (Sandbox Code Playgroud)
我有一个生产者在消费者启动之前已经产生了一些消息,如下所示:
~/Documents/backups/kafka_2.12-2.2.0/data/kafka$ kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic edu-topic
>book
>pen
>pencil
>marker
>
Run Code Online (Sandbox Code Playgroud)
当我使用 --from-beginning 选项启动消费者时,它不会显示生产者产生的所有消息:
~/Documents/backups/kafka_2.12-2.2.0/data/kafka$ kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic edu-topic --group edu-service --from-beginning
Run Code Online (Sandbox Code Playgroud)
但是,它显示了新添加的消息。
我在这里做什么错了?有什么帮助吗?
--from-beginning:如果消费者还没有建立消费的偏移量,从日志中出现的最早消息而不是最新消息开始。
Kafka 消费者第一次使用 --from-beginning如果你重试我怀疑你做了,它会从它离开的地方开始。您可以使用以下任何选项再次使用该消息
kafka-streams-application-reset.sh --application-id edu-service --input-topics edu-topic --bootstrap-servers localhost:9092 --zookeeper 127.0.0.1:2181
然后从头重试
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic edu-topic --group edu-service --from-beginning
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic edu-topic --group new-edu-service --from-beginning
kafka-console-consumer.sh --bootstrap-server localhost:9092 --offset 0 --partition 0 --topic edu-topic
--offset <String: 消费偏移量> : 要消费的偏移量 id(非负数),或 'earliest' 表示从开始,或 'latest' 表示从结束(默认:最新)--
partition <整数: partition> :除非指定了“--offset”,否则要从 Consumption 消费的分区从分区的末尾开始。
| 归档时间: |
|
| 查看次数: |
3518 次 |
| 最近记录: |