Кафка не избавляется от данных при настройке retention.ms
Поэтому, когда я ищу способ подсчета сообщений в теме, это хорошо
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
все, что я всегда получаю записи возвращено. Какие могут быть причины?
1 ответ
В основном я должен был прекратить использование kafka-run-class kafka.tools.GetOffsetShell
считать сообщения в теме. Если вы гуглите "как считать сообщения в теме кафки", множество постов и других вещей заставят вас думать, что приведенная выше команда, учитывая правильные аргументы, даст вам общее количество сообщений. Однако, если вы удалили сообщения в течение срока действия темы, это не даст вам точного подсчета. Вам просто нужно сделать что-то вроде открытия консоли потребителя, вывода в текстовый файл, а затем прочитать строки этого файла со старомодным wc -l
,