无法在 Windows 上启动 kafka 的 Zookeeper

gst*_*low 5 windows cmd batch-file apache-kafka apache-zookeeper

我有以下文件夹结构:

在此输入图像描述

C:\Program Files\kafka\kafka_2.11-0.11.0.0ffolder 我尝试执行以下命令:

bin\windows\zookeeper-server-start.bat config\zookeeper.properties
Run Code Online (Sandbox Code Playgroud)

它回复以下消息:

'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我尝试使用其他几个变体,但仍然看到错误:

C:\Program Files\kafka\kafka_2.11-0.11.0.0>bin\windows\zookeeper-server-start.bat
USAGE: bin\windows\zookeeper-server-start.bat zookeeper.properties
Run Code Online (Sandbox Code Playgroud)
C:\Program Files\kafka\kafka_2.11-0.11.0.0>bin\windows\zookeeper-server-start.bat C:\Program Files\kafka\kafka_2.11-0.11.0.0\config\zookeeper.properties
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)
C:\Program Files\kafka\kafka_2.11-0.11.0.0>bin\windows\zookeeper-server-start.bat 'C:\Program Files\kafka\kafka_2.11-0.11.0.0\config\zookeeper.properties'
'C:\Program' is not recognized as an internal or external command,
operable program or batch file.
Run Code Online (Sandbox Code Playgroud)

我有什么错吗?

小智 6

您可以通过在 kafka 文件夹的环境变量中声明路径来解决此问题,例如 C:\kafka_2.12-2.8.0\bin\windows ,然后打开一个新终端并尝试运行相同的命令,它有望正常工作。


M.A*_*nin 1

包含空格的路径需要用引号引起来(即"C:\Program Files\kafka\"代替C:\Program Files\kafka\)。

最简单的解决方案是将kafka文件夹移动到不包含空格的路径,例如C:\kafka,并相应地调整配置文件。

另一种选择是编辑配置文件(也可能是批处理文件)并引用包含空格的路径。

第三个不推荐的选项是使用 8.3 路径语法,这意味着编辑要使用的配置文件和批处理文件,C:\Progra~1\kafka而不是使用C:\Program Files\kafka