Windows上的Apache Kafka错误 - 无法找到或加载主类QuorumPeerMain

时间:2014-07-30 12:47:43

标签: apache-kafka apache-zookeeper

我刚刚从Apache网站下载了Kafka 2.8.0,我正在尝试使用网站上提供的说明进行设置。但是当我尝试启动zookeper服务器时,我收到了以下错误:

  

错误:无法找到或加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain

我的环境是Windows 7 64位。我试着按照下面的电子邮件链:Apache Email Chain。但它仍然有同样的问题。任何人都可以指导我吗?由于我对此非常陌生,无法在Google / Apache Kafka电子邮件链中找到许多信息。

15 个答案:

答案 0 :(得分:44)

从Kafka根文件夹运行以下命令:

cd bin/windows

然后运行Zookeper服务器:

zookeeper-server-start.bat ../../config/zookeeper.properties

然后运行Kafka服务器:

kafka-server-start.bat ../../config/server.properties

这里的问题是运行 / bin / windows 文件夹中的 .bat 文件,因此在使用上述步骤运行服务器后想要跟进在教程中,确保运行正确的批处理文件以创建主题和诸如此类的内容,例如:

创建主题:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

列出主题:

kafka-topics.bat --list --zookeeper localhost:2181

答案 1 :(得分:12)

发生此问题是因为您下载了错误版本的Kafka。在official page

enter image description here

您选择了源代码下载。如果您要下载二进制文件,一切都将按预期工作。

答案 2 :(得分:3)

即使我为Scala版本下载了正确的Kafka,也会出现相同的错误消息。

最终我运行了非windows sh文件(需要在windows子文件夹中运行bat)并且正在bin文件夹而不是root文件中运行。向上移动到根Kafka文件夹并从那里运行似乎已经有效。

C:\kafka_2.10-0.8.2.0>bin\windows\zookeeper-server-start.bat config\zookeeper.properties

答案 3 :(得分:2)

我在OS X上运行,我发现在通往我的Kafka基本目录的路径中的任何地方都有空格导致了这个确切的错误消息。没有空格重命名的东西解决了这个问题,没有其他修复。

例如,我的Kafka安装位于/Users/me/Kafka Demo/kafka_2.11-0.9.0.1,当我尝试启动Zookeeper时导致该错误。我所做的就是将事物重命名为/Users/me/KafkaDemo/kafka_2.11-0.9.0.1,一切正常。

答案 4 :(得分:2)

由于在程序文件中保留了kafka_2.12-2.3.0文件夹,因此在Windows平台上我也遇到了同样的问题。我将Kafka目录从Program Files更改为C:\驱动器根目录。执行以下命令后,它运行良好:

首先,转到Kafka根文件夹:

cd C:\kafka_2.12-2.3.0

运行Zookeeper服务器:

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

然后运行Kafka服务器:

bin\windows\kafka-server-start.bat config\server.properties

答案 5 :(得分:1)

只需下载二进制文件并按照以下链接中提到的步骤操作即可。 http://kafka.apache.org/07/quickstart.html

如果你遇到像

这样的错误
  

错误:无法找到或加载主类org.apache.zookeeper.server.quorum.Quorumpeermain

zookeeper.propertiesconfig文件夹复制到bin文件夹和bin/windows文件夹。

现在开始像     服务器:运行     zookeeper-server-start.bat zookeeper.properties

来自binbin/windows(如果你在窗口机器中)。它应该工作。

如果您仍然遇到问题,以下链接会有所帮助 http://blog.anilot.tk/2014/08/06/Set-Up-Kafka-On-Windows/

现在尝试盯着Kafka服务器。

如果您使用的是Windows,请使用以下命令:转到bin / windows然后运行 kafka-server-start.bat ../../config/server.properties

如果您尝试从shell提示符,请转到bin并运行以下命令

kafka-server-start.bat ../config/server.properties 

**确保config.folperties存在于配置文件夹

答案 6 :(得分:1)

第一件事:从文件夹名称中删除所有空白。 第二件事:使用Powershell

错误的路径:

d:\kafka node> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

正确的路径

d:\kafka_node> .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

感谢与问候 Jaiswar Vipin Kumar R。

答案 7 :(得分:0)

我从Apache下载了最新的稳定 Kafka ,而 Matheus Felipe 提到的说明按预期工作。

我下载了二元期权 - Scala 2.11 @ http://kafka.apache.org/downloads

答案 8 :(得分:0)

我曾经通过git bash工具在cmd下面运行来解决这个问题。

bin/zookeeper-server-start.sh config/zookeeper.properties

解决方案:我切换到cygwin工具(http://cygwin.com/)运行相同的cmd,我不再看到问题了。

答案 9 :(得分:0)

我曾使用zookeeper-3.4.12遇到相同的问题。 bin目录没有.bat文件和Windows目录。 只是存在.com和.sh文件。 .com包含Zookeeper执行的操作。 如您所见,必须找到%JAVA%。 所以我只是设置JAVA = [我的java.exe路径]。而且有效。

答案 10 :(得分:0)

是的,我也遇到了同样的问题,并尝试了上面某些评论中建议的这种方式,

首先,我将我的Kafka放在C:\Program Files中,然后将kafka_2.11-2.1.0文件夹移到C:\目录中,并尝试了以下命令,它就起作用了

.\bin\windows\kafka-server-start.bat config\server.properties 

P.S-在启动kafka之前运行zookeper服务器

答案 11 :(得分:0)

Windows OS的解决方案是执行以下操作:

  1. 从Apache Kafka的官方网站下载二进制版本,而不是源版本。
  2. 确保JAVA_HOME环境变量中没有空格(默认情况下,它已安装在Program文件中),请按照官方的安装说明进行操作。 https://docs.oracle.com/cd/E39271_01/general.300/eid_getting_started/src/tgs_install_jdk.html
  3. 确保JRE路径和KAFKA_HOME路径中也没有空格。
  4. 启动Kafka之前,请运行Zookeeper。

答案 12 :(得分:0)

我正在Windows环境中使用以下提及的命令。

Decodable

如果仍然遇到相同的错误,请验证您的文件夹结构,如果是,则文件夹名称之间是否有空格,然后用“ _”替换或完全删除。

我也面临着同样的错误。

答案 13 :(得分:0)

适用于Windows操作系统的Kafka docker

启动Zookeeper

  • 将文件/conf/zoo_sample.cfg克隆到/conf/zoo.cfg
  • 通过在zoo.cfg文件末尾添加此行/conf/zoo.cfg,配置Zookeeper Admin(在admin.serverPort=8099文件中)netty服务器端口。这是为了避免以后应用程序默认端口8080发生冲突。
  • 运行命令以启动./zkServer.cmd

停止Zookeeper

  • 运行命令以停止:./zkServer.cmd stop

启动Kafka

  • 使用Zookeeper管理端口(例如admin.serverPort = 8099)配置Kafka(在/config/zookeeper.properties文件中)
  • 运行命令以启动./kafka-server-start.bat ../../config/server.properties

停止卡夫卡

  • 运行命令以停止:./kafka-server-stop.bat

主题

  • 运行命令以创建主题:./kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_1
  • 运行命令以列出所有主题:./kafka-topics.bat --list --zookeeper localhost:2181

测试主题

  • 运行命令以验证是否创建了主题:./kafka-topics.bat --describe --topic test_1 --bootstrap-server localhost:9092
  • 打开终端以创建主题为./kafka-console-producer.bat --topic test_1 --bootstrap-server localhost:9092
  • 的事件
  • 打开终端以阅读以下主题的事件:./kafka-console-consumer.bat --topic test_1 --from-beginning --bootstrap-server localhost:9092

实用

  • kafka-console-producer终端上将一些事件写入“主题”:这是一个事件
  • 从消费者(在kafka-console-consumer终端上)的阅读中将看到打印出来的事件=> 这是一个事件

祝您编程愉快!

答案 14 :(得分:-1)

enter image description here

有点奇怪。但是将根文件夹名称替换为Kafka解决了我的问题。这可能会帮助一个或其他人。