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

时间:2017-11-07 22:16:58

标签: 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版本很长一段时间了,从来没有遇到过这样的事情,它在很长一段时间内非常稳定。

我试图找到解决方案,并按照documentation.

中的说明操作

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

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

**更新:**问题已发布在Apache JIRA board 到目前为止,共识似乎是Windows问题。

11 个答案:

答案 0 :(得分:6)

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

解决步骤:

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

    Example:
    log.dirs=/tmp/kafka-logs/
    
  3. 删除日志目录及其内容。一旦重新启动,Kafka将重新创建目录。

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

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

  6. 启动Zookeeper。

    <KAFKA_HOME>bin/zookeeper-server-start.sh -daemon <KAFKA_HOME>config/zookeeper.properties
    
  7. 启动kakfa经纪人。

    <KAFKA_HOME>bin/kafka-server-start.sh -daemon <KAFKA_HOME>config/server.properties
    
  8. 通过查看logs / kafkaServer.out日志文件来验证代理是否已开始正常运行。

答案 1 :(得分:1)

如果真的要在Windows计算机上执行,请尝试以Windows方式更改mask = df.drop('datetime', axis=1).isnull().all(axis=1) df['g'] = (~mask).cumsum() L = list(map(tuple, df[mask].groupby('g')['datetime'].agg(['first','last']).values.tolist())) print (L) [('2018-10-10 20:00:00', '2018-10-10 22:00:00'), ('2018-10-11 02:00:00', '2018-10-11 03:00:00')] 文件夹中log.dirs中的参数log.dirs=C:\some_path\some_path_kafLogs(例如server.properties)的路径

默认情况下,此路径将采用unix方式(例如/config)。

这在Windows计算机上对我有用。

答案 2 :(得分:0)

只需清除C:\Kafka\kafka_2.12-1.0.0\kafka-logs中的日志并重新启动kafka

答案 3 :(得分:0)

删除Zookeeper目录中的日志

答案 4 :(得分:0)

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

  • 清除Kafka日志和Zookeeper数据(在创建新主题后再次发生该问题)
  • 已创建名为log.dirs=C:\kafka_2.12-2.1.1\data\kafka的从前斜线“ /”到后斜线“ \”(如C:\kafka_2.12-2.1.1\kafka_2.12-2.1.1datakafka)的log.dirs路径更改,并且该问题确实停止并且问题已解决。

最后我找到了这个link,您会从google kafka log.dirs窗口中获得它的 This is on Dzone you'll get it of you google kafka log.dirs windows

答案 5 :(得分:0)

所以这似乎是Windows问题。

https://issues.apache.org/jira/browse/KAFKA-6188

JIRA已解决,并且附加了未合并的补丁。

https://github.com/apache/kafka/pull/6403

所以您的选择是:

  • 让它在Windows上运行并使用补丁进行构建
  • 在UNIX风格的文件系统(Linux或Mac)中运行
  • 也许值得在Windows中的docker上运行

答案 6 :(得分:0)

对我有用的是删除kafka和zookeeper日志目录,然后在kafka和zookeeper server.properties文件(可以在kafka / conf / server.properties中找到)中配置我的日志目录路径,通常使用斜杠“ /”到反斜杠“ \”

答案 7 :(得分:0)

问题在于并发使用kafka的日志文件。该任务是延迟外部日志文件在所有Kafka线程和

之间的更改

主题配置可以帮助您

Map<String, String> config = new HashMap<>();
config.put(CLEANUP_POLICY_CONFIG, CLEANUP_POLICY_COMPACT);
config.put(FILE_DELETE_DELAY_MS_CONFIG, "3600000");
config.put(DELETE_RETENTION_MS_CONFIG, "864000000");
config.put(RETENTION_MS_CONFIG, "86400000");

答案 8 :(得分:0)

只需删除以下所有日志:

C:\ tmp \ kafka-logs

然后重新启动Zookeeper和kafka服务器。

答案 9 :(得分:0)

在更改为路径分隔符的窗口上 '' 解决了该问题,每个都需要转义。 '\' C:\路径\日志

答案 10 :(得分:-2)

重新安装zookeeper可以解决此问题。