1. 程式人生 > 實用技巧 >kafka啟動報錯ERROR Processor got uncaught exception以及徹底刪除topic

kafka啟動報錯ERROR Processor got uncaught exception以及徹底刪除topic

啟動kafka
命令:/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
報錯如下: [2020-08-18 11:14:49,403] ERROR Processor got uncaught exception. (kafka.network.Processor) java.lang.ExceptionInInitializerError at kafka.network.RequestChannel$Request.
<init>(RequestChannel.scala:111) at kafka.network.Processor.$anonfun$processCompletedReceives$1(SocketServer.scala:515) at kafka.network.Processor.$anonfun$processCompletedReceives$1$adapted(SocketServer.scala:505) at scala.collection.Iterator.foreach(Iterator.scala:929) at scala.collection.Iterator.foreach$(Iterator.scala:929) at scala.collection.AbstractIterator.foreach(Iterator.scala:1406) at scala.collection.IterableLike.foreach(IterableLike.scala:71) at scala.collection.IterableLike.foreach$(IterableLike.scala:70) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at kafka.network.Processor.processCompletedReceives(SocketServer.scala:505) at kafka.network.Processor.run(SocketServer.scala:433) at java.lang.Thread.run(Thread.java:745) Caused by: java.net.UnknownHostException: QA-server: QA-server: Name or service not known at java.net.InetAddress.getLocalHost(InetAddress.java:1505) at kafka.network.RequestChannel$.
<init>(RequestChannel.scala:41) at kafka.network.RequestChannel$.<clinit>(RequestChannel.scala) ... 12 more [2020-08-18 11:14:50,017] ERROR Processor got uncaught exception. (kafka.network.Processor) java.lang.NoClassDefFoundError: Could not initialize class kafka.network.RequestChannel$ at kafka.network.RequestChannel$Request.
<init>(RequestChannel.scala:111) at kafka.network.Processor.$anonfun$processCompletedReceives$1(SocketServer.scala:515) at kafka.network.Processor.$anonfun$processCompletedReceives$1$adapted(SocketServer.scala:505) at scala.collection.Iterator.foreach(Iterator.scala:929) at scala.collection.Iterator.foreach$(Iterator.scala:929) at scala.collection.AbstractIterator.foreach(Iterator.scala:1406) at scala.collection.IterableLike.foreach(IterableLike.scala:71) at scala.collection.IterableLike.foreach$(IterableLike.scala:70) at scala.collection.AbstractIterable.foreach(Iterable.scala:54) at kafka.network.Processor.processCompletedReceives(SocketServer.scala:505) at kafka.network.Processor.run(SocketServer.scala:433) at java.lang.Thread.run(Thread.java:745) 解決方法:
在/etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.2.10 QA-server
QA-server為本機主機名
之後繼續重啟,依然報錯
FATAL Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.common.InconsistentBrokerIdException: Configured broker.id 2 doesn't match stored broker.id 1 in meta.properties. If you moved your data, make sure your configured broker.id matches. If you intend to create a new broker, you should remove all data in your data directories (log.dirs).
    at kafka.server.KafkaServer.getBrokerId(KafkaServer.scala:689)
    at kafka.server.KafkaServer.startup(KafkaServer.scala:194)
    at kafka.server.KafkaServerStartable.startup(KafkaServerStartable.scala:39)
    at kafka.Kafka$.main(Kafka.scala:67)
    at kafka.Kafka.main(Kafka.scala)

解決方法:
/usr/local/kafka/config/server.properties裡修改broker.id=2
/usr/local/kafka/logs/kafka-logs-1/meta.properties裡修改broker.id=2
原broker.id=1,修改其它數值,兩個配置檔案裡要保持一致
徹底刪除kafka中的topic
方法一:配置引數delete.topic.enable=true沒有開啟(位置/usr/local/kafka/config/server.properties)
kafka檢視topic:/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper xxxx:2181 --topic {topic name}
kafka刪除(會顯示marked for deletion):/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper xxxx:2181 --topic {topic name}
刪除kafka儲存目錄,/usr/local/kafka/config/server.properties裡log.dirs配置,預設在/tmp/下
登入zookeeper客戶端:/usr/local/zookeeper/bin/zkCli.sh
ls /brokers/topics
rmr /brokers/topics/{topic name}
方法二:配置引數delete.topic.enable=true開啟(位置/usr/local/kafka/config/server.properties),重啟kafka
kafka刪除:/usr/local/kafka/bin/kafka-topics.sh --delete --zookeeper xxxx:2181 --topic {topic name}