Kafka 代理关闭,因为日志目录失败

Posted

技术标签:

【中文标题】Kafka 代理关闭,因为日志目录失败【英文标题】:Kafka brokers shuts down because log dirs have failed 【发布时间】:2020-07-30 01:25:49 【问题描述】:

我有 3 个代理 Kafka 集群,Kafka 日志位于 /tmp 目录中。我正在运行 Debezium 源连接器到 MongoDB,它轮询来自 4 个集合的数据。

但是在启动连接器后 5 分钟内,Kafka 代理将关闭并出现以下错误:

[2020-04-16 18:25:08,642] ERROR Shutdown broker because all log dirs in /tmp/kafka-logs-1 have failed (kafka.log.LogManager)

我尝试了不同的建议,即。删除 Kafka 日志并清理 Zookeeper 日志。但是我又遇到了同样的问题。

我还注意到,发生这种情况时,kafka 日志占据了 /tmp 目录的 100%。所以我还根据大小更改了日志保留策略。

log.retention.hours=168
log.retention.bytes=1073741824
log.segment.bytes=1073741824
log.retention.check.interval.ms=10000

这也是徒劳的。 我想在这方面得到一些帮助。提前致谢!

【问题讨论】:

你为什么使用 /tmp 作为 Kafka 的日志目录? 【参考方案1】:

您的日志文件损坏可能是因为您的存储空间不足。


我建议将log.dirs 更改为server.properties。还要确保您不使用tmp/ 位置,因为一旦您的机器关闭,它将被清除。更改 log.dirs 后,您可以重新启动 Kafka。

请注意,旧消息将会丢失。

【讨论】:

谢谢!我将日志移动到具有更大磁盘空间的更永久位置。 Kafka 集群现在运行良好。

以上是关于Kafka 代理关闭,因为日志目录失败的主要内容,如果未能解决你的问题,请参考以下文章

apache kafka将哪些目录存储在代理节点中

Kafka 1.0 因 FATAL SHUTDOWN 错误而停止。日志目录失败

kafka集群一台broker挂掉,解决办法

WARN 发送 SSL 关闭消息失败(Kafka SSL 配置问题)

基于kafka的日志收集分析平台

java实时监听日志写入kafka(多目录)