尽管有log.retention.hours = 168,但昨天发送的消息的日志文件仍然不存在

时间:2018-11-01 09:34:06

标签: logging apache-kafka retention

昨天我在Ubuntu 18.04.01 Server Edition中安装了Kafka 2.0,并遵循快速入门说明和解释,直到成功部署了步骤7:https://kafka.apache.org/quickstart

今天,我发现/ tmp中没有kafka-logs-文件,尽管直接在相关的server.properties文件中进行了明确显示:

server.properties :
# A comma separated list of directories under which to store log files
 log.dirs=/tmp/kafka-logs
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

 server-1.properties :
# A comma separated list of directories under which to store log files
log.dirs=/tmp/kafka-logs-1
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

server-2.properties :
# A comma separated list of directories under which to store log files
log.dirs=/tmp/kafka-logs-2
# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168

尽管快速入门教程的前七个步骤得到了成功的跟踪,但为什么会发生呢?为了保留包含通过Kafka经纪人在生产者和接收者之间发送的消息的Kafka日志文件,该怎么做?

期待您的帮助。 马可

1 个答案:

答案 0 :(得分:0)

由于您的log.dirs指向/tmp目录,因此它将在系统重新启动时清除所有内容。这同样适用于Zookeeper data.dir

确保这些目录没有指向tmp文件夹。

此外,还有一个属性log.retention.byteslog.retention.hours对日志压缩非常有用。

它表示删除日志之前的最大日志大小。默认情况下为-1。因此,可以根据保留时间保留日志。如果将其配置为任何特定的数字,则将删除日志。