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

Tei*_*Rei 21 apache-kafka apache-zookeeper

我刚刚升级到Kafka 1.0和zookeeper 3.4.10.首先,一切都开始了.独立的生产者和消费者按预期工作.在我运行代码大约10分钟后,Kafka失败并出现此错误:

[2017-11-07 16:48:01,304] INFO在目录C:\ Kafka\kafka_2.12-1.0.0\kafka-logs(kafka.log.LogManager)中停止提供日志

[2017-11-07 16:48:01,320]致命关闭代理,因为C:\ Kafka\kafka_2.12-1.0.0\kafka-logs中的所有日志都失败了(kafka.log.LogManager)

我重新安装并重新配置了Kafka 1.0,同样的事情发生了.如果我尝试重新启动,则会发生相同的错误.

删除日志文件有助于启动Kafka,但在短期运行后它会再次失败.

我已经运行了0.10.2版本很长一段时间,从来没有遇到过这样的事情,它在很长一段时间内非常稳定.

我试图找到解决方案,并按照文档中的说明进行操作.

这还不是一个生产环境,它是一个相当简单的设置,一个生产者,一个消费者从一个主题阅读.

我不确定这是否与zookeeper有任何关系.

**更新:**问题已在已发布的Apache JIRA板 的共识到目前为止似乎是,这是一个Windows的问题.

nuk*_*lov 16

同样也遇到了这个问题,仅清除kafka日志无效。您还必须清除Zookeeper。

解决步骤:

  1. 确保停止动物园管理员。
  2. 查看您的server.properties文件,并在以下条目下找到logs目录。

    Example:
    log.dirs=/tmp/kafka-logs/
    
    Run Code Online (Sandbox Code Playgroud)
  3. 删除日志目录及其内容。一旦再次启动,Kafka将重新创建目录。

  4. 查看zookeeper.properties文件,并在以下条目下找到数据目录。

    Example:
    dataDir=/tmp/zookeeper
    
    Run Code Online (Sandbox Code Playgroud)
  5. 删除数据目录及其内容。一旦再次启动目录,Zookeeper将重新创建目录。

  6. 启动Zookeeper。

    <KAFKA_HOME>bin/zookeeper-server-start.sh -daemon <KAFKA_HOME>config/zookeeper.properties
    
    Run Code Online (Sandbox Code Playgroud)
  7. 启动kakfa经纪人。

    <KAFKA_HOME>bin/kafka-server-start.sh -daemon <KAFKA_HOME>config/server.properties
    
    Run Code Online (Sandbox Code Playgroud)
  8. 通过查看logs / kafkaServer.out日志文件,验证代理是否已启动,没有任何问题。

  • 谢谢,这是以前答案中所有步骤的汇总,是的,这在测试时有效,我已经尝试了多次。但是,当Kafka投入生产并发生故障时,它无法解决问题,因为它需要手动干预和删除所有日志文件,因此也需要删除流中的所有数据。自动重启将失败,因此这不是解决该问题的永久解决方案。 (2认同)
  • 这是一个临时修复。这个问题不断发生。真的没有实际的解决办法吗? (2认同)
  • @emirhosseini发布解决方案后,我也一直遇到这个问题。我发现了两个问题:在终止进程时,我使用kill -9 &lt;process_id&gt;,将其切换为kill -s TERM &lt;process_id&gt;,并且每次必须终止进程时,都不会再次导致该问题。 。另外,我的磁盘空间不足,甚至都没有意识到。到目前为止,即使我在测试过程中由于某种原因而终止了该过程,自11月下旬以来一直运行至今,没有任何问题。 (2认同)

Ujj*_*hak 6

我已经尝试了所有的解决方案,比如

  • 清除Kafka日志和Zookeeper数据(创建新主题后再次出现问题)
  • 将 log.dirs 路径从正斜杠“/”更改为反斜杠“\”(如log.dirs=C:\kafka_2.12-2.1.1\data\kafka)文件夹C:\kafka_2.12-2.1.1\kafka_2.12-2.1.1datakafka已创建,问题确实停止了,问题已解决。

最后我找到了这个链接,如果你谷歌 kafka log.dirs windows,你会得到它

这是在 Dzone 你会得到它,如果你谷歌 kafka log.dirs windows


Pra*_*n L 1

如果您尝试在 Windows 计算机中执行,请尝试以 Windows 方式更改文件夹中参数(log.dirslog.dirs=C:\some_path\some_path_kafLogs)的路径。server.properties/config

默认情况下,该路径将采用 Unix 方式(如/unix/path/)。

这在 Windows 机器上对我有用。

  • 我从一开始就这样做了,在不同的机器上尝试了不同的路径。Kafka 启动正常,但如果重新启动,它无法找到这些文件,或者将它们视为已锁定。在 Kafka 1.0 上尝试过,现在在 2.0 上尝试过。 (3认同)