在Windows 10上运行Kafka失败:系统找不到指定的路径

问题描述 投票:3回答:7

我想在当地经营卡夫卡。我已经安装并运行了Zookeeper。我已经下载了Kafka 2.11-1.1.0的二进制文件。我已将server.config中的日志位置调整为有效路径。当我运行.\bin\windows\kafka-server-start.bat .\config\server.properties时,我收到一条错误消息

该系统找不到指定的路径。

我可以看到这两个文件都存在于我的计算机上的适当位置 - 我应该如何排除故障? kafka-server-start: check server.config: check

windows apache-kafka
7个回答
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
投票

事实证明kafka-run-class.bat抛出了这个错误,因为系统变量中JAVA_HOME的路径格式不正确(在我的例子中,我已经添加了/ bin。)从路径中删除/ bin,并使其成为现有的Java安装文件夹,让一切运行正常。


3
投票

我遇到了同样的问题,但这不是因为JAVA_HOME环境变量的错误路径。

这是因为我在一个包含空格的路径中提取了我的卡夫卡酒厂!

首先它在这里:

E:\ Apache Kafka \ kafka_2.11-2.1.0

然后我将它重新定位在这个新路径中(没有任何空格!):

E:\ ApacheKafka \ kafka_2.11-2.1.0

问题解决了!

希望这可以帮助。


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

1
投票

迟到的回复,但我希望它有所帮助。我有同样的问题,发现有人将JAVA更新为更新的版本,即我的JAVA_HOME系统变量指向一个不存在的文件夹。奇怪,因为我没有做到,但上面的答案激发我去检查它。


1
投票

正如许多人所提到的,如果您运行的任何kafka * .bat脚本(包括zookeeper)引用了错误的JAVA_HOME系统变量或包含空格的系统变量,则会发生这种情况。

您可以通过将JAVA_HOME更改为缩短的路径名来解决此问题。例如

set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1

附:

为方便起见,我创建了一个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

1
投票

我也有这个问题。在我的例子中,我将java安装在C:\ Java \ bin和JAVA_HOME中定义为

JAVA_HOME = C:\的Java \ BIN

我需要改变

C:\工具\ 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上失败。

BTW:我在windows中使用git bash shell。这允许我运行bin / * .sh脚本而不是bin / windows / * .bat脚本

我也改变了dataDir的值

C:\工具\ kafka_2.12-2.2.0 \设置\ zookeeper.properties

dataDir=C:\\Tools\\kafka_2.12-2.2.0\\zookeeper-data
© www.soinside.com 2019 - 2024. All rights reserved.