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

Bor*_*s K 5 windows apache-kafka

我正在尝试在本地运行Kafka。我已经安装并运行了Zookeeper。我已经下载了Kafka 2.11-1.1.0的二进制文件。我已将中的日志位置调整server.config为有效路径。当我跑步时.\bin\windows\kafka-server-start.bat .\config\server.properties,出现错误提示

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

我可以看到这两个文件都存在于我的计算机上的正确位置,该怎么解决? kafka-server-start:检查 server.config:检查

Joy*_*son 12

我在运行 kafka-server-start.bat 命令时遇到了这个问题。我再次检查以确保 kafka 二进制文件路径中没有空格以及 JAVA_HOME 中的语法正确。

终于意识到问题是由于 JAVA_HOME 路径中有一个空格。

C:\Program Files\Java\jdk1.8.0_144

Program 和 Files 之间有一个空格。我更改了 Java 的目录并将 JAVA_HOME 变量更新为

C:\Java\jdk1.7.0_51

这个改变解决了我的问题。我使用 setx 命令更改 JAVA_HOME 中的值。

setx -m JAVA_HOME "C:\Java\jdk1.7.0_51"
Run Code Online (Sandbox Code Playgroud)

  • 如果不想移动Java,可以将JAVA_HOME设置为缩短的路径,例如:set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1 (5认同)

P M*_*ran 6

我也有这个问题。就我而言,我在 C:\Java\bin 和 JAVA_HOME 中安装了 java,定义为

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
Run Code Online (Sandbox Code Playgroud)

对此:

# Which java to use
if [ -z "$JAVA_HOME" ]; then
  JAVA="java"
else
  JAVA="$JAVA_HOME/java"
fi
Run Code Online (Sandbox Code Playgroud)

因为它将 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
Run Code Online (Sandbox Code Playgroud)


Bor*_*s K 5

事实证明,这个错误是kafka-run-class.bat由于系统变量的路径格式JAVA_HOME错误而引发的(在我的例子中,我已将 /bin 添加到其中。)从路径中删除 /bin 并使其成为现有的 Java 安装文件夹,使得一切都运行良好。


STa*_*efi 5

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

这是因为我在包含空格的路径中提取了我的卡夫卡二进制文件!

首先它在这里:

E:\阿帕奇卡夫卡\kafka_2.11-2.1.0

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

E:\ApacheKafka\kafka_2.11-2.1.0

问题解决了!

希望这可以帮助。


Gon*_*n I 5

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

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

set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1
Run Code Online (Sandbox Code Playgroud)

聚苯乙烯

为了方便起见,我创建了一个 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
Run Code Online (Sandbox Code Playgroud)