kafka以前可以在我自己的计算机上完美运行。我现在正在另一台计算机上工作,上面写着
错误在目录C:\ tmp \ kafka-logs(kafka.server.LogDirFailureChannel)中为__consumer_offsets-41创建日志时发生错误java.io.IOException:映射在sun.nio.ch.FileChannelImpl.map(FileChannelImpl。 java:940)位于kafka.log.AbstractIndex。(AbstractIndex.scala:126)位于kafka.log.TimeIndex。(TimeIndex.scala:54)位于kafka.log.LogSegment $ .open(LogSegment.scala:635)位于kafka kafka.log.Log $ .log.Log。($ log.scala:290)在kafka.log.Log $ .apply(Log.scala:2141)处的.log.Log.loadSegments(Log.scala:573)在kafka.log.LogManager处。 $ anonfun $ getOrCreateLog $ 1(LogManager.scala:701)在scala.Option.getOrElse(Option.scala:121)在kafka.log.LogManager.getOrCreateLog(LogManager.scala:659)在kafka.cluster.Partition。$ anonfun $在kafka.utils处的getOrCreateReplica $ 1(Partition.scala:199)在kafka.utils.Pool $$ anon $ 2.apply(Pool.scala:61)在kafka.utils处的java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)。在kafka.clu上的Pool.getAndMaybePut(Pool.scala:60)在kafka.cluster.Partition.getOrCreateReplica(Partition.scala:195)在kafka.clu ster.Partition。$ anonfun $ makeLeader $ 3(Partition.scala:373)在scala.collection.TraversableLike。$ anonfun $ map $ 1(TraversableLike.scala:233)在scala.collection.Iterator.foreach(Iterator.scala:937)位于scala.collection.Iterator.foreach $(Iterator.scala:937)位于scala.collection.AbstractIterator.foreach(Iterator.scala:1425)位于scala.collection.IterableLike.foreach(IterableLike.scala:70)位于scala.collection在scala.collection.IterableLike.foreach $(IterableLike.scala:69)在scala.collection.TraversableLike.map(TraversableLike.scala:233)处的摘要Iterable.foreach(Iterable.scala:54)在scala.collection.TraversableLike.map $(TraversableLike.scala:226)在scala.collection.AbstractTraversable.map(Traversable.scala:104)在kafka.cluster.Partition。$ anonfun $ makeLeader $ 1(Partition.scala:373)在kafka.utils.CoreUtils $。在kafka.utils.CoreUtils $ .inWriteLock(CoreUtils.scala:259)在kafka.cluster.Partition.makeLeader(Partition.scala:367)在kafka.server.ReplicaManager。$ anonfun $ makeLe位于scala.collection.mutable.HashMap的aders $ 5(ReplicaManager.scala:1170)位于scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235)处的scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235)处的$ anonfun $ foreach $ 1(HashMap.scala:145)。在scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40)在scala.collection.mutable.HashMap.foreach(HashMap.scala:145)处的collection.mutable.HashTable.foreachEntry $(HashTable.scala:228)在kafka.server.ReplicaManager.becaeLeaderOrFollower(ReplicaManager.scala:1080)处的kafka.server.ReplicaManager.makeLeaders(ReplicaManager.scala:1168)位于kafka.server.KafkaApis.handleLeaderAndIsrRequest(KafkaApis.scala:kafka。 .handle(KafkaApis.scala:110)位于kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69)位于java.lang.Thread.run(Thread.java:745)原因:java.lang.OutOfMemoryError:映射失败在sun.nio.ch.FileChannelImpl.map0(本机方法)处,在sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:937)处...更多41 [2019-03-25 14:55:00,296]信息[ ReplicaManager经纪人= 0 ]停止在目录C:\ tmp \ kafka-logs(kafka.server.ReplicaManager)中提供服务的副本[2019-03-25 14:55:00,296]错误[ReplicaManager broker = 0]使代理成为分区负责人时出错主题: __consumer_offsets;分区:41;负责人:无; AllReplicas :; InSyncReplicas:无目录(kafka.server.ReplicaManager)
每当我尝试通过发出以下命令来消耗主题时,就会出现此错误:
bin \ windows \ kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic UpdateObserver --from-beginning
我的Java版本是:
java版本“ 1.8.0_91” Java(TM)SE运行时环境(内部版本1.8.0_91-b15) Java HotSpot(TM)64位服务器VM(内部版本25.91-b15,混合模式)
ps:删除tmp目录并不能解决问题,一旦我想从给定的主题中使用它,它就会崩溃,这使我能够再次启动kafka
答案 0 :(得分:0)
面临同样的问题。将 Java 版本升级到 16.0.1 将解决我的问题。 还将 JAVA_HOME 设置为 16 版本,不带 bin 文件夹。例如 C:\Program Files\Java\jdk-16.0.1