Не удалось добавить в качестве комментария из-за размера: Не уверен, что это правда, кроме обновления retention.ms и retention.bytes, но я заметил, что политика очистки темы должна быть «delete» (по умолчанию), если «compact», она собирается задерживать сообщения дольше, т. е. если оно «компактное», вам также нужно указать delete.retention.ms .
./bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-name test-topic-3-100 --entity-type topics
Configs for topics:test-topic-3-100 are retention.ms=1000,delete.retention.ms=10000,cleanup.policy=delete,retention.bytes=1
Также нужно было отслеживать самые ранние / последние смещения, чтобы подтвердить, что это произошло успешно, также можете проверить du -h / tmp / kafka-logs / test-topic-3-100- *
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list "BROKER:9095" --topic test-topic-3-100 --time -1 | awk -F ":" '{sum += $3} END {print sum}'
26599762
./bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list "BROKER:9095" --topic test-topic-3-100 --time -2 | awk -F ":" '{sum += $3} END {print sum}'
26599762
Другая проблема заключается в том, что вы должны сначала получить текущую конфигурацию, чтобы вы не забыли вернуться после успешного удаления:
./bin/kafka-configs.sh --zookeeper localhost:2181 --describe --entity-name test-topic-3-100 --entity-type topics