【发布时间】:2019-08-16 13:04:18
【问题描述】:
kafka 曾经在我自己的电脑上完美运行。我现在正在另一台电脑上工作,上面写着
在目录 C:\tmp\kafka-logs (kafka.server.LogDirFailureChannel) 中为 __consumer_offsets-41 创建日志时出错 java.io.IOException: Map failed at 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 .log.Log.loadSegments(Log.scala:573) 在 kafka.log.Log.(Log.scala:290) 在 kafka.log.Log$.apply(Log.scala:2141) 在 kafka.log.LogManager。 $anonfun$getOrCreateLog$1(LogManager.scala:701) at scala.Option.getOrElse(Option.scala:121) at kafka.log.LogManager.getOrCreateLog(LogManager.scala:659) at kafka.cluster.Partition.$anonfun$ getOrCreateReplica$1(Partition.scala:199) at kafka.utils.Pool$$anon$2.apply(Pool.scala:61) at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660) at kafka.utils。 Pool.getAndMaybePut(Pool.scala:60) at kafka.cluster.Partition.getOrCreateReplica(Partition.scala:195) at kafka.clu ster.Partition.$anonfun$makeLeader$3(Partition.scala:373) at scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:233) at 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 .IterableLike.foreach$(IterableLike.scala:69) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at scala.collection.TraversableLike.map(TraversableLike.scala:233) at scala.collection.TraversableLike.map $(TraversableLike.scala:226) at scala.collection.AbstractTraversable.map(Traversable.scala:104) at kafka.cluster.Partition.$anonfun$makeLeader$1(Partition.scala:373) at kafka.utils.CoreUtils$。 inLock(CoreUtils.scala:251) at kafka.utils.CoreUtils$.inWriteLock(CoreUtils.scala:259) at kafka.cluster.Partition.makeLeader(Partition.scala:367) at kafka.server.ReplicaManager.$anonfun$makeLe aders$5(ReplicaManager.scala:1170) at scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:145) at scala.collection.mutable.HashTable.foreachEntry(HashTable.scala:235) at scala. collection.mutable.HashTable.foreachEntry$(HashTable.scala:228) at scala.collection.mutable.HashMap.foreachEntry(HashMap.scala:40) at scala.collection.mutable.HashMap.foreach(HashMap.scala:145) at kafka.server.ReplicaManager.makeLeaders(ReplicaManager.scala:1168) 在 kafka.server.ReplicaManager.becomeLeaderOrFollower(ReplicaManager.scala:1080) 在 kafka.server.KafkaApis.handleadLeaderAndIsrRequest(KafkaApis.scala:185) 在 kafka.server.KafkaApis .handle(KafkaApis.scala:110) at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:69) at java.lang.Thread.run(Thread.java:745) 原因:java.lang.OutOfMemoryError: Map failed在 sun.nio.ch.FileChannelImpl.map0(Native Method) 在 sun.nio.ch.FileChannelImpl.map(FileChannelImpl.java:937) ... 41 更多 [2019-03-25 14:55:00,296] INFO [ ReplicaManager 代理=0 ] 停止在目录 C:\tmp\kafka-logs (kafka.server.ReplicaManager) [2019-03-25 14:55:00,296] 错误 [ReplicaManager broker=0] 将代理设置为分区的领导者时出错主题: __consumer_offsets;分区:41;领队:无;所有副本:; 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 运行时环境 (build 1.8.0_91-b15) Java HotSpot(TM) 64 位服务器 VM(内部版本 25.91-b15,混合模式)
ps:删除 tmp 目录并不能解决问题,它只是让我能够再次启动 kafka,一旦我想从给定主题消费它就会崩溃
【问题讨论】:
-
Kafka 目前不正式支持 Windows,因此您的里程可能会有所不同:kafka.apache.org/documentation/#os
-
用于开发。目的,你可以在 windows 下的 docker 中运行 Kafka
标签: apache-kafka