我安装并配置了融合的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
答案 0 :(得分:0)
您是否检查了log.roll.ms
-这是主要配置。默认情况下,它没有任何值。但是,如果存在,它将覆盖log.roll.hours
。