Удалить все сообщения из темы Кафки - PullRequest
0 голосов
/ 05 июня 2018

Я видел похожие вопросы, связанные с этим, но не нашел правильного ответа.Я просто хочу удалить сообщения из темы Кафки вместо изменения времени ожидания.Я установил kafka_2.11-0.8.2.1 и запустил его в Windows, используя файлы bat.Я хочу знать, могу ли я удалить все сообщения, опубликованные в теме, не удаляя всю тему.

Ответы [ 2 ]

0 голосов
/ 19 июня 2018

Кафка отличается от других сообщений в этом аспекте.Кафка не является семантической структурой "потреблять-удалять".Вы не можете удалить, но можете продвинуться вперед со смещением чтения, и потребитель получит следующие сообщения.

Потребитель несет ответственность, если он хочет прочитать какое-либо сообщение от брокера снова или сейчас.Независимо от того, используется ли полученное сообщение пользователем или нет, kafka сохранит его в течение настроенного времени и затем удалит.

Можно написать какой-то сценарий для достижения этой цели, но я настоятельно рекомендую это сделать.

0 голосов
/ 05 июня 2018

Вы не можете сделать это с 0.8.2.Начиная с версии 0.11.0, вы получаете инструмент kafka-delete-records.sh для этого.Начиная с версии 1.1, у вас даже есть Java AdminClient API с методами deleteRecords для этого программно.

...