在我的情况下(测试将文件读入 生产环境 者并在控制台中使用,仅在本地),我只是在 生产环境 者输出中看到了这个:
offset.storage.file.filename=/tmp/connect.offsets
所以我想打开它,但它是二进制的,有一些难以识别的字符 .
我删除了它(重命名它也有效),然后我可以写入同一个文件并再次从消费者那里获取文件内容 . You have to restart the console producer to take effect because it attempts to read the offset file, if not there, create a new one, so that the offset is reset.
如果要重置它而不删除,可以使用:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group --reset-offsets --to-earliest --topic
您可以通过以下方式检查所有组名:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
并检查每组的详细信息:
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group --describe
在 生产环境 环境中,此偏移量由zookeeper管理,因此需要更多步骤(和警告) . 你可以参考这个页面:
脚步:
kafka-topics --list --zookeeper localhost:2181
kafka-run-class kafka.tools.GetOffsetShell --broker-list localhost:9092 -topic vital_signs --time -1 // -1 for largest, -2 for smallest
set /consumers/{yourConsumerGroup}/offsets/{yourFancyTopic}/{partitionId} {newOffset}