我有一个双节点Kafka集群,每个集群分配48 GB磁盘。 server.properties
设置为将日志保留至48小时或将日志段保留至1 GB。这是它:为什么Kafka不会删除数据?
log.retention.hours=48
log.retention.bytes=1073741824
log.segment.bytes=1073741824
我有30个话题的部分。下面是这些分区中的一个磁盘使用情况统计:
-rw-r--r-- 1 root root 1.9M Apr 14 00:06 00000000000000000000.index
-rw-r--r-- 1 root root 1.0G Apr 14 00:06 00000000000000000000.log
-rw-r--r-- 1 root root 0 Apr 14 00:06 00000000000000000000.timeindex
-rw-r--r-- 1 root root 10M Apr 14 12:43 00000000000001486744.index
-rw-r--r-- 1 root root 73M Apr 14 12:43 00000000000001486744.log
-rw-r--r-- 1 root root 10M Apr 14 00:06 00000000000001486744.timeindex
正如你可以清楚地看到,我们有1 GB的日志段。但根据我的理解,它应该已经被删除。此外,卡夫卡推出这些日志已超过48小时。思考?
那么,手动删除旧的日志段然后重新启动服务器可以吗?我们的磁盘几乎达到了80%。不想陷入任何灾难性的错误。 – Ankush92
个人而言,我认为这是可行的,因为Kafka所做的是删除包括段文件和索引在内的日志文件,并重新启动服务器有助于更新服务器元数据,但我强烈建议您进行全面的测试。 – amethystic
确实。我认为卡夫卡和我建议手动完成的事情是一样的。但在生产中做这样的事情是相当大胆的。 – Ankush92