kafka logs + 如何限制日志大小

kafka logs + how to limit the logs size

在我的 ambari 集群中(版本 2.6

我们有master机器和workers机器 而 kafka 安装在 master 机器上

分区/数据只有15G kafka 日志文件夹是 - /data/var/kafka/kafka-logs

/data/var/kafka/kafka-logs 下的大部分文件夹大小为 4K-40K

但是两个文件夹非常大 - 5G-7G,这导致 /data 为 100%

示例:

/data/var/kafka/kafka-logs/mmno.aso.prpl.proces-90

12K     00000000000000000000.index
1.0G    00000000000000000000.log
16K     00000000000000000000.timeindex
12K     00000000000001419960.index
1.0G    00000000000001419960.log
16K     00000000000001419960.timeindex
12K     00000000000002840641.index
1.0G    00000000000002840641.log
16K     00000000000002840641.timeindex
12K     00000000000004260866.index
1.0G    00000000000004260866.log
16K     00000000000004260866.timeindex
12K     00000000000005681785.index
1.0G    00000000000005681785.log

是否可以限制日志的大小?或其他解决方案? 我们有小 /data 并且需要日志不应该是 1G 大小,如何解决?

Kafka 有许多 broker/topic 配置用于限制日志的大小。特别是:

  • log.retention.bytes: 日志删除前的最大大小
  • log.retention.hours: 日志文件在删除前保留的小时数

请注意,这些并不是硬性界限,因为如 http://kafka.apache.org/documentation/#impl_deletes 中所述,每个片段都会发生删除。这些也是每个主题。但是通过设置这些你应该能够控制数据目录的大小。

有关 log.retention.*/log.roll.*/log.segment.* 配置的完整列表,请参阅 http://kafka.apache.org/documentation/#brokerconfigs