kafka服务器在windows环境下运行一段时间后会崩溃

问题描述 投票:0回答:1

我目前正在尝试一些测试,其中包括Kafka来发送和接收消息。在我的应用程序中,我有一个简单的Kafka生产者,它定期产生消息,而Kafka接收器应用程序接收它。但是在这个应用程序运行了大约36-37个小时后,Kafka服务器崩溃了,并出现以下错误。我已经通过 这个 也是,但这个问题似乎和我现在面临的问题没什么不同,我在本地的windows机器上使用Kafka 2.4.0。我在本地windows机器上使用Kafka 2.4.0。

java.nio.file.FileSystemException: C:\kafka\temp\kafka-logs\__consumer_offsets-9\00000000000000000000.timeindex.cleaned -> C:\kafka\temp\kafka-logs\__consumer_offsets-9\00000000000000000000.timeindex.swap: The process cannot access the file because it is being used by another process.

    at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
    at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
    at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
    at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
    at java.nio.file.Files.move(Unknown Source)
    at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:795)
    at kafka.log.AbstractIndex.renameTo(AbstractIndex.scala:209)
    at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:497)
    at kafka.log.Log.$anonfun$replaceSegments$4(Log.scala:2286)
    at kafka.log.Log.$anonfun$replaceSegments$4$adapted(Log.scala:2286)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at kafka.log.Log.replaceSegments(Log.scala:2286)
    at kafka.log.Cleaner.cleanSegments(LogCleaner.scala:605)
    at kafka.log.Cleaner.$anonfun$doClean$6(LogCleaner.scala:530)
    at kafka.log.Cleaner.$anonfun$doClean$6$adapted(LogCleaner.scala:529)
    at scala.collection.immutable.List.foreach(List.scala:392)
    at kafka.log.Cleaner.doClean(LogCleaner.scala:529)
    at kafka.log.Cleaner.clean(LogCleaner.scala:503)
    at kafka.log.LogCleaner$CleanerThread.cleanLog(LogCleaner.scala:372)
    at kafka.log.LogCleaner$CleanerThread.cleanFilthiestLog(LogCleaner.scala:345)
    at kafka.log.LogCleaner$CleanerThread.tryCleanFilthiestLog(LogCleaner.scala:325)
    at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:314)
    at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:96)
    Suppressed: java.nio.file.FileSystemException: C:\kafka\temp\kafka-logs\__consumer_offsets-9\00000000000000000000.timeindex.cleaned -> C:\kafka\temp\kafka-logs\__consumer_offsets-9\00000000000000000000.timeindex.swap: The process cannot access the file because it is being used by another process.

            at sun.nio.fs.WindowsException.translateToIOException(Unknown Source)
            at sun.nio.fs.WindowsException.rethrowAsIOException(Unknown Source)
            at sun.nio.fs.WindowsFileCopy.move(Unknown Source)
            at sun.nio.fs.WindowsFileSystemProvider.move(Unknown Source)
            at java.nio.file.Files.move(Unknown Source)
            at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:792)
            ... 17 more

顺便说一下,我在本地的windows机器上使用Kafka 2.4.0。: 我在使用Kafka的所有默认配置和创建不同分区的主题。

apache-kafka kafka-consumer-api kafka-producer-api
1个回答
0
投票

你需要正确地停止Kafka和zookeeper,如果问题仍然存在,那么你需要删除C:\kafka\temp\kafka-logs\然后启动服务器。

你将失去你的数据,并且偏移量将从0开始。

© www.soinside.com 2019 - 2024. All rights reserved.