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

Bash 无法找到或加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain,bash,cygwin,apache-kafka,Bash,Cygwin,Apache Kafka,我正在运行ApacheKafka教程(在ApacheKafka网站上),不得不使用助手教程()并找到另一个答案(在VMware中从我的ubuntu运行kafka时搜索“Unrecognized VM option”+UseCompressedOops”),只是为了在这里完成 现在我遇到了一个错误: 无法找到或加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain“当 正在运行:“bin/zookeeper-server-start.sh co

我正在运行ApacheKafka教程(在ApacheKafka网站上),不得不使用助手教程()并找到另一个答案(在VMware中从我的ubuntu运行kafka时搜索“Unrecognized VM option”+UseCompressedOops”),只是为了在这里完成

现在我遇到了一个错误:

无法找到或加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain“当 正在运行:“bin/zookeeper-server-start.sh config/zookeeper.properties

我以前做过一些搜索,发现了一个电子邮件链,没有明确的答案和其他解决方案,但版本不同()


附言:我希望所有括号中都有链接,但我的声誉还没有准备好。

可能你的类路径正在制造麻烦。错误表示无法加载QuorumPeerMain类。这个类将在zookeeper-(version.jar)上提供。确保jar在libs文件夹中可用,并确保在类路径中有指向lib文件夹。很明显,类路径指向bin/kafka-run-class.sh。在kafka-run-class.sh的末尾,您将看到一行

if [ "x$DAEMON_MODE" = "xtrue" ]; then
在上行之前添加一条语句
echo$CLASSPATH
。现在试着开始。这样您就可以找到传递给类路径的字符串。它应该包含
:../../libs/zookeeper-(version).jar:
在lib文件夹中找到的版本应该与字符串匹配。默认情况下,它将完美工作。我想有人改变了你下载的文件。如果是这样,那么它肯定会开始

或者尝试下面链接中规定的步骤,它对我有效


它给出了以下输出:“bin/zookeeper-server-start.sh config/zookeeper.properties:/cygdrive/c/kafka/bin/。/core/build/dependent libs-/cygdrive/c/kafka/bin/。/libs/zookeeper-3.3.4.jar:/cygdrive/c/kafka/bin/。/core/build/libs/kafka_2.8.0*.jar错误:找不到或加载主类org.apache.zookeeper.server.quorum.qourumpeermain:“zookeeper版本号匹配,但kafka版本号不匹配。我发现如果没有scala for 2.8.0,很难找到实例。我可能有混合教程,把事情搞砸了。我将尝试一个同事发给我的解决方案,并通过硬编码类路径来测试它是否有效。添加
CLASSPATH=“$CLASSPATH:../libs/zookeeper-3.3.4.jar:../libs/kafka_2.8.0-0.8.1.1.jar:
行之前,如果[“x$DAEMON_MODE”=“xtrue”];然后
。确保libs Folder上有相同版本的zookeeper和kafka。请从下载二进制软件包(例如apache-zookeeper-x.x.x-bin.tar.gz)。不要下载源程序包。