因此,当我寻找一种方法来计算主题中的消息时,这个方法很好
kafka-run-class kafka.tools.GetOffsetShell --broker-list broker1:9092,broker2:9092,broker3:9092 --topic rev-dly-upd --time -1
唯一的问题是,当我将retention.ms配置更改为retention.ms=1000,甚至通过运行kafka-topics --describe --zookeeper zookeeper1:2181 --topic rev-dly-upd检查主题是否已配置时。我可以清楚地看到该配置被设置为1000...
Topic:rev-dly-upd PartitionCount:8 ReplicationFactor:3 Configs:retention.ms=1000
Topic: rev-dly-upd Partition: 0 Leader: 159 Replicas: 159,96,160 Isr: 159,96,160
Topic: rev-dly-upd Partition: 1 Leader: 160 Replicas: 160,159,94 Isr: 94,160,159
Topic: rev-dly-upd Partition: 2 Leader: 94 Replicas: 94,160,95 Isr: 95,94,160
Topic: rev-dly-upd Partition: 3 Leader: 95 Replicas: 95,94,96 Isr: 95,96,94
Topic: rev-dly-upd Partition: 4 Leader: 96 Replicas: 96,95,159 Isr: 95,96,159
Topic: rev-dly-upd Partition: 5 Leader: 159 Replicas: 159,160,94 Isr: 159,94,160
Topic: rev-dly-upd Partition: 6 Leader: 160 Replicas: 160,94,95 Isr: 94,160,95
Topic: rev-dly-upd Partition: 7 Leader: 94 Replicas: 94,95,96 Isr: 95,96,94然而,当我运行kafka-run-class kafka.tools.GetOffsetShell --broker-list broker1:9092,broker2:9092,broker3:9092 --topic rev-dly-upd --time -1 all时,我总是得到返回的记录。可能的原因是什么?
发布于 2018-09-12 18:51:49
基本上,我不得不停止使用kafka-run-class kafka.tools.GetOffsetShell来计算主题中的消息数。如果你在谷歌上搜索“如何计算kafka主题中的消息”,大量的帖子和事情会让你认为,如果参数正确,上面的命令会给出一个总消息数。但是,如果您在主题的生命周期内清除了消息,则不会给出准确的计数。你只需要做一些事情,比如打开一个控制台消费者,输出到文本文件,然后用老式的wc -l读取该文件的行。
https://stackoverflow.com/questions/51604313
复制相似问题