参考:https://stackoverflow.com/questions/43042144/kafka-server-failed-to-start-java-io-ioexception-map-failed
报错日志[2022-02-15 16:50:40,558] ERROR Error while deleting the clean shutdown file in dir /home/es/kafka_2.11-2.2.1/logs (kafka.server.LogDirFailureChannel) java.io.IOException: Map failed at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:938) at kafka.log.AbstractIndex.(AbstractIndex.scala:126) at kafka.log.OffsetIndex. (OffsetIndex.scala:53) at kafka.log.LogSegment$.open(LogSegment.scala:633) at kafka.log.Log$$anonfun$kafka$log$Log$$loadSegmentFiles$3.apply(Log.scala:467) at kafka.log.Log$$anonfun$kafka$log$Log$$loadSegmentFiles$3.apply(Log.scala:454) at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733) at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732) at kafka.log.Log.kafka$log$Log$$loadSegmentFiles(Log.scala:454) at kafka.log.Log$$anonfun$loadSegments$1.apply$mcV$sp(Log.scala:565) at kafka.log.Log$$anonfun$loadSegments$1.apply(Log.scala:559) at kafka.log.Log$$anonfun$loadSegments$1.apply(Log.scala:559) at kafka.log.Log.retryOnOffsetOverflow(Log.scala:2060) at kafka.log.Log.loadSegments(Log.scala:559) at kafka.log.Log. (Log.scala:292) at kafka.log.Log$.apply(Log.scala:2193) at kafka.log.LogManager.kafka$log$LogManager$$loadLog(LogManager.scala:265) at kafka.log.LogManager$$anonfun$loadLogs$2$$anonfun$11$$anonfun$apply$15$$anonfun$apply$2.apply$mcV$sp(LogManager.scala:345) at kafka.utils.CoreUtils$$anon$1.run(CoreUtils.scala:63) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.OutOfMemoryError: Map failed at sun.nio.ch.FileChannelImpl.map0(Native Method) at sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:935) ... 25 more
原因JVM是32位的,Linxu系统是64位的
查看JVM位数[root@r-wb-16 bin]# java -d64 -version Error: This Java instance does not support a 64-bit JVM. Please install the desired version. [root@r-wb-16 bin]# [root@r-wb-16 bin]# java -d32 -version java version "1.8.0_311" Java(TM) SE Runtime Environment (build 1.8.0_311-b11) Java HotSpot(TM) Server VM (build 25.311-b11, mixed mode)
安装64位JDK后查看
[root@r-wb-16 ~]# java -d64 -version java version "1.8.0_321" Java(TM) SE Runtime Environment (build 1.8.0_321-b07) Java HotSpot(TM) 64-Bit Server VM (build 25.321-b07, mixed mode) [root@r-wb-16 ~]# java -d32 -version Error: This Java instance does not support a 32-bit JVM. Please install the desired version.
重新启动Kafka,发现正常



