从快速入门页面开始运行kafka的说明对我不起作用。
http://kafka.apache.org/07/quickstart.html
Kafka构建良好
05:55:01/kafka-0.8.1-src:58 $sbt package
[info] Set current project to kafka-0-8-1-src (in build file:/shared/kafka-0.8.1-src/)
[info] Packaging /shared/kafka-0.8.1-src/target/scala-2.10/kafka-0-8-1-src_2.10-0.1-SNAPSHOT.jar ...
[info] Done packaging.
[success] Total time: 0 s, completed Apr 17, 2014 5:55:07 AM
但是运行不好..
05:55:07/kafka-0.8.1-src:59 $bin/zookeeper-server-start.sh config/zookeeper.properties
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/zookeeper/server/quorum/QuorumPeerMain
Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.server.quorum.QuorumPeerMain
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
kafka-server-start.sh和bin
中的所有其他脚本也会发生类似的错误答案 0 :(得分:10)
您从下载页面下载了kafka-0.8.1-src.tgz。快速入门链接上的说明适用于二进制下载。从http://kafka.apache.org/downloads.html页面的二进制下载部分下载一个。现在试试。它应该工作。
或者如果你想从你下载的src.tgz包构建,那么运行./gradlew jar
。它将下载所有必需的依赖项。
答案 1 :(得分:0)
要添加到Chandra Kant解决方案中,如果您的网络中有代理连接,请使用以下命令
./gradlew -Dhttp.proxyHost=<PROXY-HOST> -Dhttp.proxyPort=<PROXY-PORT> jar
谢谢@Chandra kant,它给了我很多帮助
答案 2 :(得分:0)
如果尝试启动运行java版本低于java 1.7的Kafka 0.9.0.0,也可以达到此异常。将 $ JAVA_HOME设置为1.7或更高,并确保JAVA_HOME/bin
在您的类路径中。
答案 3 :(得分:0)
我遇到了同样的问题在Windows 10上,我所做的是:
不要单独下载/安装Zookeeper,只下载kafka_2.12-1.1.0(或更高版本)
创建临时文件夹(如此E:\ DevApplications \ kafka \ temp)
打开zookeeper.properties(我有@ E:\ DevApplications \ kafka \ kafka_2.12-1.1.0 \ config)
更新dataDir(对我来说:dataDir = E:/ DevApplications / kafka / temp)注意正斜杠
打开CMD并使用zookeeper.properties作为第二个参数运行zookeeper-server-start.bat,如
.\zookeeper-server-start.bat ..\..\config\zookeeper.properties
.\kafka-server-start.bat ..\..\config\server.properties
希望这有帮助。