啓動kafka時報錯:java.nio.file.FileSystemException,另一個程序正在使用此文件,進程無法訪問。

先貼上錯誤信息

[2018-08-12 10:04:52,070] ERROR Failed to clean up log for __consumer_offsets-4 in dir D:\tmp\kafka-logs due to IOException (kafka.server.LogDirFailureChannel)
java.nio.file.FileSystemException: D:\tmp\kafka-logs\__consumer_offsets-4\00000000000000000000.log.cleaned -> D:\tmp\kafka-logs\__consumer_offsets-4\00000000000000000000.log.swap: 另一個程序正在使用此文件,進程無法訪問。

	at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
	at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
	at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:387)
	at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
	at java.nio.file.Files.move(Files.java:1395)
	at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:697)
	at org.apache.kafka.common.record.FileRecords.renameTo(FileRecords.java:212)
	at kafka.log.LogSegment.changeFileSuffixes(LogSegment.scala:415)
	at kafka.log.Log.replaceSegments(Log.scala:1644)
	at kafka.log.Cleaner.cleanSegments(LogCleaner.scala:535)
	at kafka.log.Cleaner.$anonfun$doClean$6(LogCleaner.scala:462)
	at kafka.log.Cleaner.$anonfun$doClean$6$adapted(LogCleaner.scala:461)
	at scala.collection.immutable.List.foreach(List.scala:389)
	at kafka.log.Cleaner.doClean(LogCleaner.scala:461)
	at kafka.log.Cleaner.clean(LogCleaner.scala:438)
	at kafka.log.LogCleaner$CleanerThread.cleanOrSleep(LogCleaner.scala:305)
	at kafka.log.LogCleaner$CleanerThread.doWork(LogCleaner.scala:291)
	at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)
	Suppressed: java.nio.file.FileSystemException: C:\tmp\kafka-logs\__consumer_offsets-4\00000000000000000000.log.cleaned -> C:\tmp\kafka-logs\__consumer_offsets-4\00000000000000000000.log.swap: 另一個程序正在使用此文件,進程無法訪問。

		at sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:86)
		at sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:97)
		at sun.nio.fs.WindowsFileCopy.move(WindowsFileCopy.java:301)
		at sun.nio.fs.WindowsFileSystemProvider.move(WindowsFileSystemProvider.java:287)
		at java.nio.file.Files.move(Files.java:1395)
		at org.apache.kafka.common.utils.Utils.atomicMoveWithFallback(Utils.java:694)
		... 12 more

原因分析:未能清理 D:\tmp\kafka-logs目錄中的consumer_offset記錄
consumer_offset是kafka自動保存偏移量的topic,自帶的topic
設定目錄是在config/server.config下的logs.dirs
在這裏插入圖片描述
圖片中是我修改之後的路徑,原來的路徑是/tmp/logs

解決方法::手動刪除目錄下的所有文件,重啓kafka

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章