我尝试使用以下命令
设置每个主题的log.retention.bytes bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic app.test.client --config retention.bytes=10485760
通过执行
验证配置设置bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic
app.test.client
Topic:app.test.client PartitionCount:3 ReplicationFactor:2 Configs:retention.bytes=10485760
Topic: app.test.client Partition: 0 Leader: 2 Replicas: 2,1 Isr: 2,1
Topic: app.test.client Partition: 1 Leader: 0 Replicas: 0,2 Isr: 0,2
Topic: app.test.client Partition: 2 Leader: 1 Replicas: 1,0 Isr: 1,0
我已将保留字节设置为10MB - > 10485760.但是我的日志文件在10MB之后仍在增长。
$du -hs /mnt/kafka/logs/*
128M /mnt/kafka/logs/app.test.client-1
128M /mnt/kafka/logs/app.test.client-2
版 卡夫卡 - 0.8.2.1
如何根据主题正确设置此设置?
答案 0 :(得分:2)
我认为log.retention.bytes
并没有对主题/分区大小施加硬限制,而是向Kafka发出信号,要求删除高于您设置此值的最旧段文件财产到。
答案 1 :(得分:0)
Kafka保留在段级别进行。意思是,当Kafka超出保留边界(时间或大小)时,它将寻找要删除的段,以便返回到保留边界。在retention.bytes
小于segment.bytes
的情况下,您可能会遇到这样的情况,其中只是一个段,这也是当前使用的段,因此删除过程可能无法完全按预期工作。
尝试将segment.bytes
设置为小于retention.bytes
的值。