set config retention.ms=3600000 все еще данные не удаляются из Kafka
Я установил retention.ms=3600000 по приведенной ниже команде, но все равно на диске много данных через 1 час. Мой диск был переполнен из-за огромных данных, поступающих в Кафку.
./bin/kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic topic_1 --config retention.ms=3600000
Опишите команду
./bin/kafka-topics.sh --zookeeper zookeeper:2181 --describe --topics-with-overrides
Topic:__consumer_offsets PartitionCount:50 ReplicationFactor:3 Configs:segment.bytes=104857600,cleanup.policy=compact,compression.type=producer
Topic:topic_1 PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=3600000
Topic:topic_2 PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=3600000
Topic:topic_3 PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=3600000,retention.bytes=104857600
Может кто-нибудь дать совет, почему кафка не удаляет данные через 1 час.?
3 ответа
Исходя из результата команды описать, политика хранения тем установлена на compact
который включит сжатие журнала вместо удаления и сохранит последние данные для каждого ключа. Чтобы удалить все данные старше срока хранения, необходимо установить политику хранения delete
,
./bin/kafka-topics.sh --zookeeper zookeeper:2181 --alter --topic topic_1 --config cleanup.policy=delete
Как следует из документации, retention.ms контролирует максимальное время, в течение которого kafka будет сохранять журнал, прежде чем отбросит старые сегменты журнала, чтобы освободить место, если мы используем политику хранения "delete". Выглядит как твой cleanup.policy
установлен на компакт вместо delete
bin/kafka-configs.sh --zookeeper 2181 --entity-type topics
--entity-name topic_1 --alter --add-config cleanup.policy=delete
PS: изменение конфигурации темы из скрипта kafka-topics.sh (kafka.admin.TopicCommand) устарело. В дальнейшем используйте для этой функции сценарий kafka-configs.sh (kafka.admin.ConfigCommand).
Проверьте значение log.retention.check.interval.ms
,
Это значение влияет на очиститель журнала. Он проверит, имеет ли какой-либо журнал право на удаление с этим интервалом.