kafka消息日志文件频繁滚动

时间:2016-12-30 06:56:40

标签: logging apache-kafka rollover

我安装并配置了融合的kafka。 kafka的堆大小为1GB。

  

export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" #from /bin/kafka-server-start

我创建了一个只有一个分区的主题“thing-data”,并使用自动作业每5秒将一些数据输入到该主题中。每条消息的大小约为2400字节。

我看到的是我的主题的最小偏移量变化太频繁了。这意味着kafka队列能够在给定的时间点保存非常少的记录。我查看了/ var / log / kafka / thing-data-0 /

中的主题消息日志文件大小
[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:05 00000000000000148868.index
-rw-r--r--. 1 confluent confluent   119350 Dec 30 17:05 00000000000000148868.log

[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:08 00000000000000148928.index
-rw-r--r--. 1 confluent confluent    54901 Dec 30 17:08 00000000000000148928.log

[hduser@laptop thing-data-0]$ ll

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:12 00000000000000148988.index
-rw-r--r--. 1 confluent confluent    38192 Dec 30 17:13 00000000000000148988.log

正如您所见,日志文件非常频繁地滚动。每次旧文件被标记为.deleted并在配置的时间后被删除。

以下是与/etc/kafka/server.properties中的日志相关的配置设置。

log.roll.hours=168
log.retention.hours=168  #i tried with log.retention.ms as well .. :-)  
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000

当我重新启动kafka时,文件如下所示。

-rw-r--r--. 1 confluent confluent 10485760 Dec 30 17:21 00000000000000149099.index
-rw-r--r--. 1 confluent confluent        0 Dec 30 17:21 00000000000000149099.log

我怀疑.index文件大小的东西,因为它设置为最大值(segment.index.bytes默认值为10485760)。 (我怀疑这是因为kafka集群工作了将近一个月)

不确定这会出现什么问题,我们将不胜感激。

我在下面提到的一些参考资料。

http://kafka.apache.org/documentation/

https://stackoverflow.com/questions/28586008/delete-message-after-consuming-it-in-kafka

1 个答案:

答案 0 :(得分:0)

您是否检查了log.roll.ms-这是主要配置。默认情况下,它没有任何值。但是,如果存在,它将覆盖log.roll.hours