FATAL Fatal error during KafkaServerStartable startup. java.lang.OutOfMemoryError: Java heap space

今天搭建了kafka單機版用於測試,配置好以後啓動kafka時出現了內存溢出的問題,如下: 

[2016-10-22 10:39:39,112] INFO [Kafka Server 0], shut down completed (kafka.server.KafkaServer)
[2016-10-22 10:39:39,113] FATAL Fatal error during KafkaServerStartable startup. Prepare to shutdown (kafka.server.KafkaServerStartable)
java.lang.OutOfMemoryError: Java heap space
	at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:57)
	at java.nio.ByteBuffer.allocate(ByteBuffer.java:335)
	at kafka.log.SkimpyOffsetMap.<init>(OffsetMap.scala:42)
	at kafka.log.LogCleaner$CleanerThread.<init>(LogCleaner.scala:177)
	at kafka.log.LogCleaner$$anonfun$1.apply(LogCleaner.scala:86)
	at kafka.log.LogCleaner$$anonfun$1.apply(LogCleaner.scala:86)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244)
	at scala.collection.immutable.Range.foreach(Range.scala:141)
	at scala.collection.TraversableLike$class.map(TraversableLike.scala:244)
	at scala.collection.AbstractTraversable.map(Traversable.scala:105)
	at kafka.log.LogCleaner.<init>(LogCleaner.scala:86)
	at kafka.log.LogManager.<init>(LogManager.scala:64)
	at kafka.server.KafkaServer.createLogManager(KafkaServer.scala:335)
	at kafka.server.KafkaServer.startup(KafkaServer.scala:85)
	at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:29)
	at kafka.Kafka$.main(Kafka.scala:46)
	at kafka.Kafka.main(Kafka.scala)
[2016-10-22 10:39:39,114] INFO EventThread shut down (org.apache.zookeeper.ClientCnxn)
[2016-10-22 10:39:39,116] INFO [Kafka Server 0], shutting down (kafka.server.KafkaServer)

解決方法:

編輯 kafka/kafka-server-start.sh 這個啓動文件,修改 KAFKA_HEAP_OPTS 這個參數,默認的參數是 export KAFKA_HEAP_OPTS="-Xmx512m -Xms512m",增大內存即可,export KAFKA_HEAP_OPTS="-Xmx1g -Xms1g",再次啓動問題解決。

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