一次启动卡夫卡服务的时候,报了org.apache.kafka.common.KafkaException: Failed to acquire lock on file .lock in /home/hadoop/log/kafka-logs. A Kafka instance in another process or thread is using this directory.这个错
org.apache.kafka.common.KafkaException: Failed to acquire lock on file .lock in /home/hadoop/log/kafka-logs. A Kafka instance in another process or thread is using this directory.
at kafka.log.LogManager$$anonfun$lockLogDirs$1.apply(LogManager.scala:240)
at kafka.log.LogManager$$anonfun$lockLogDirs$1.apply(LogManager.scala:236)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.TraversableLike$$anonfun$flatMap$1.apply(TraversableLike.scala:241)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at scala.collection.TraversableLike$class.flatMap(TraversableLike.scala:241)
at scala.collection.AbstractTraversable.flatMap(Traversable.scala:104)
at kafka.log.LogManager.lockLogDirs(LogManager.scala:236)
at kafka.log.LogManager.<init>(LogManager.scala:97)
at kafka.log.LogManager$.apply(LogManager.scala:1011)
at kafka.server.KafkaServer.startup(KafkaServer.scala:240)
at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:42)
at kafka.Kafka$.main(Kafka.scala:75)
at com.cloudera.kafka.wrap.Kafka$$anonfun$1.apply(Kafka.scala:92)
at com.cloudera.kafka.wrap.Kafka$$anonfun$1.apply(Kafka.scala:92)
at com.cloudera.kafka.wrap.Kafka$.runMain(Kafka.scala:103)
at com.cloudera.kafka.wrap.Kafka$.main(Kafka.scala:95)
at com.cloudera.kafka.wrap.Kafka.main(Kafka.scala)
顾名思义 就是kafka服务启动后,不小心退出
按jps查看当前的进程
[hadoop@ruozedata002 logs]$ jps
2274 DataNode
2134 QuorumPeerMain
2375 JournalNode
2200 NameNode
2617 NodeManager
2506 DFSZKFailoverController
2781 ResourceManager
6013 Jps
4766 Kafka
然后kill -9 4766 (4766是进程号)杀死kafka的进程
杀死进程后后重新启动kafka服务就可以了