【问题标题】:Unable to start kafka server (java.lang.NoSuchMethodError)无法启动 kafka 服务器 (java.lang.NoSuchMethodError)
【发布时间】:2021-10-26 12:41:49
【问题描述】:

正在尝试启动 kafka 服务器,结果出现以下错误:-

(org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:java.io.tmpdir=C:\Users\vich0221\AppData\Local\Temp\1\ (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:java.compiler=<NA> (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:os.name=Windows 10 (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:os.arch=amd64 (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:os.version=10.0 (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:user.name=vignesh (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:user.home=C:\Users\vignesh (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] INFO Client environment:user.dir=C:\kafka (org.apache.zookeeper.ZooKeeper)
[2021-08-26 17:20:57,934] ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
java.lang.NoSuchMethodError: org.apache.zookeeper.ZooKeeper.<init>(Ljava/lang/String;ILorg/apache/zookeeper/Watcher;Lorg/apache/zookeeper/client/ZKClientConfig;)V
        at kafka.zookeeper.ZooKeeperClient.<init>(ZooKeeperClient.scala:117)
        at kafka.zk.KafkaZkClient$.apply(KafkaZkClient.scala:1948)
        at kafka.server.KafkaServer.createZkClient$1(KafkaServer.scala:431)
        at kafka.server.KafkaServer.initZkClient(KafkaServer.scala:456)
        at kafka.server.KafkaServer.startup(KafkaServer.scala:191)
        at kafka.Kafka$.main(Kafka.scala:109)
        at kafka.Kafka.main(Kafka.scala)
[2021-08-26 17:20:57,934] INFO shutting down (kafka.server.KafkaServer)
[2021-08-26 17:20:57,950] INFO App info kafka.server for 0 unregistered (org.apache.kafka.common.utils.AppInfoParser)
[2021-08-26 17:20:57,950] INFO shut down completed (kafka.server.KafkaServer)
[2021-08-26 17:20:57,950] ERROR Exiting Kafka. (kafka.Kafka$)
[2021-08-26 17:20:57,950] INFO shutting down (kafka.server.KafkaServer)

我的 Zookeeper 已启动并运行

[2021-08-26 17:20:29,150] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)

我不确定它有什么问题。它工作得更早,我没有触及任何配置文件。我只是启动了 zookeeper,当尝试启动 kafka 服务器时它抛出了一个错误。我可以在 java.compiler 附近的错误中看到它设置为 NA。但我能够使用 cmd 中的java -version 检测到 java。这是导致那个错误吗????

如何克服这个问题??

【问题讨论】:

  • 你使用的zookeeper和kafka版本兼容吗?
  • 你在类路径中的任何地方都有 zookeeper 版本吗?还要检查 zookeeper 是否在 Kafka 服务器的类路径中。
  • kafka 目录中的 libs 文件夹通常包含 Kafka 使用的所有必需库。从lib 文件夹中的 jar 文件的名称中,我看到上述 url 的 zookeeper 版本为 3.5.9。检查那里是否有任何不同(或)那里有任何其他 zookeeper jar 文件。
  • 您也可以使用echo $CLASSPATH 检查CLASSPATH。我想你的 kafka 代理日志也应该包含打印的类路径,你可能也想在那里检查一下。
  • 这不是2.8.0的版本,搜索对应的jar文件,可能替换成zookeeper-3.5.9.jar

标签: java apache-kafka apache-zookeeper


【解决方案1】:

我也遇到了同样的问题,很可能你的classpath下还有其他版本的zookeeper的jar包。您可以通过执行bin/kafka-server-start.sh config/server.properties 命令然后查看日志来检查。下面是我的日志,我发现错误的zookeeper版本:/usr/local/hive/lib/zookeeper-3.4.6.jar

my log

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-08
    • 2017-10-30
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多