我正在尝试在本地运行Kafka。我已经安装并运行了Zookeeper。我已经下载了Kafka 2.11-1.1.0的二进制文件。我已将server.config
中的日志位置调整为有效路径。运行.\bin\windows\kafka-server-start.bat .\config\server.properties
时出现错误
系统找不到指定的路径。
答案 0 :(得分:4)
结果是kafka-run-class.bat
引发了此错误,因为系统变量中JAVA_HOME
的路径格式不正确(在我的情况下,我已经向其中添加了/ bin。)从路径,并将其作为现有的Java安装文件夹,可以使一切正常运行。
答案 1 :(得分:3)
我遇到了同样的问题,但这不是因为JAVA_HOME
环境变量的路径格式错误。
那是因为我在一个包含空格的路径中提取了我的kafka bineries!
首先是在这里
E:\ Apache Kafka \ kafka_2.11-2.1.0
然后我将其重新定位在这个新路径(没有任何空格!)中:
E:\ ApacheKafka \ kafka_2.11-2.1.0
问题解决了!
希望这会有所帮助。
答案 2 :(得分:2)
要添加到现有答案中,您还可以在运行提供的 Kafka zookeeper-server-start
命令(以及bin/windows
文件夹中几乎所有其他脚本)时收到错误消息,因为它也利用kafka-run-class
,因此依赖有效的JAVA_HOME
环境变量路径。
cd D:\Downloads\kafka
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
答案 3 :(得分:1)
我在运行kafka-server-start.bat命令时遇到了这个问题。我再次检查以确保kafka二进制路径中没有空格以及JAVA_HOME中的正确语法。
最后意识到问题是由于JAVA_HOME路径中的空格引起的。
C:\ Program Files \ Java \ jdk1.8.0_144
程序和文件之间有一个空格。我更改了Java目录,并将JAVA_HOME变量更新为
C:\ Java \ jdk1.7.0_51
此更改解决了我的问题。我用setx命令更改了JAVA_HOME中的值。
setx -m JAVA_HOME "C:\Java\jdk1.7.0_51"
答案 4 :(得分:1)
最新答复,但希望对您有所帮助。我遇到了同样的问题,发现有人将JAVA更新到了较新的版本,即我的JAVA_HOME系统变量指向的文件夹不存在。我还没有做过,但很奇怪,但是上面的答案启发了我进行检查。
答案 5 :(得分:1)
正如许多人提到的,如果您运行的任何kafka * .bat脚本(包括zookeeper)引用了错误的JAVA_HOME系统变量或包含空格的变量,就会发生这种情况。
您可以通过将JAVA_HOME更改为缩短的路径名来解决此问题。 例如
set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1
P.S。
为方便起见,我创建了一个CMD桌面快捷方式,将JAVA_HOME设置为适合Kafka,并将CD设置为我的kafka安装。我的桌面快捷方式如下:
%windir%\System32\cmd.exe /k set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1& f: & cd f:\kafka\kafka_2.12-2.2.0
答案 6 :(得分:0)
我也有这个问题。就我而言,我在C:\ Java \ bin中安装了Java,并将JAVA_HOME定义为
JAVA_HOME = c:\ Java \ bin
我需要改变
c:\ Tools \ kafka_2.12-2.2.0 \ bin \ kafka-run-class.sh
第224行到229行
# Which java to use
if [ -z "$JAVA_HOME" ]; then
JAVA="java"
else
JAVA="$JAVA_HOME/bin/java"
fi
对此:
# Which java to use
if [ -z "$JAVA_HOME" ]; then
JAVA="java"
else
JAVA="$JAVA_HOME/java"
fi
因为它正在将Java分配给C:\ Java \ bin / bin / java 然后在相同文件的306上失败。
顺便说一句:我在Windows中使用git bash shell。这使我可以运行bin / *。sh脚本,而不是bin / windows / *。bat脚本
我也更改了
中dataDir的值C:\ Tools \ kafka_2.12-2.2.0 \ config \ zookeeper.properties
到
dataDir=C:\\Tools\\kafka_2.12-2.2.0\\zookeeper-data
答案 7 :(得分:0)
我面临同样的问题并通过以下步骤修复:
确保您的环境变量为:
JAVA_HOME=C:\Program Files\Java\jdk1.8.0_261
ZOOKEEPER_HOME=C:\apache-zookeeper-3.6.2
KAFKA_HOME=C:\kafka_2.13-2.7.0
编辑系统变量中的“路径”并输入:
%JAVA_HOME% / bin, %ZOOPKEEPER_HOME / bin and %KAFKA_HOME% / bin
现在,打开终端,运行 zoopkeeper 和 kafka
对于 Zoopkeeper:zkserver
对于Kafka:bin\windows\kafka-server-start.bat .\config\server.properties
它运行时没有任何问题和错误。
答案 8 :(得分:0)
我已经坚持了很长一段时间。以下是我为解决此问题而采取的步骤:
答案 9 :(得分:-1)
一个对我有用的简单解决方案- 打开kafka-run-class.sh文件,转到行号306,将$ JAVA括在“”中。
exec“ $ JAVA” $ KAFKA_HEAP_OPTS $ KAFKA_JVM_PERFORMANCE_OPTS $ KAFKA_GC_LOG_OPTS $ KAFKA_JMX_OPTS $ KAFKA_LOG4J_OPTS -cp $ CLASSPATH $ KAFKA_OPTS“ $ @”
如果Java路径中有空格,则会出现此问题。要么从Java安装路径中删除空格,要么将该路径用双引号引起来。