系统找不到指定的路径:启动zookeeper时出错(apache kafka)

w8rqjzmb  于 2021-06-07  发布在  Kafka
关注(0)|答案(3)|浏览(919)

在命令提示符下启动zookeeper服务器时出现以下错误:系统找不到指定的路径。我使用的是windows8操作系统,kafka2.12和java8jdk。
我已经检查了以下内容:
JAVA_HOMEJDK bin文件夹。
设置 PATH 正确使用环境变量 JAVA_HOME 作为相关路径。
设置 CLASSPATH 正确使用环境变量 JAVA_HOME 作为相关路径。
在windows中使用了缩短路径以避免使用空格:ex:c:\progra~1而不是c:\program files
在命令提示符中选中以下命令: echo %JAVA_HOME% echo %PATH% echo %CLASSPATH% where java java -version java -d64 -version javac -version 他们都给了我指定的路径。但这并没有解决我的问题。

t2a7ltrp

t2a7ltrp1#

有一个kafka-run-class.bat文件,它在大多数kafka脚本中都会被引用。它根据下面提到的java\u home变量设置java参数:set java=“%java\u home%/bin/java”
我们需要修改它,因为java\u home已经包含到'bin'的路径。所以现在Kafka试图在路径中附加一个额外的bin目录。我们需要如下所述更改:set java=“%java\u home%/java”
现在在一个新的命令提示符下再次启动zookeeper,错误消失了,zookeeper启动正常。

2w2cym1i

2w2cym1i2#

我认为javau home应该保留到jdk path而不是jdk\bin。

lpwwtiir

lpwwtiir3#

我也面临着同样的问题:我的java home set

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

然后我做了以下改变:
1) 将jdk位置更改为c:\java\jdk1.8.0\u 144\bin,因为以前的位置包含程序和文件之间的空格。
2) 我还需要将kafka-run-class.bat文件从

IF ["%JAVA_HOME%"] EQU [""] (
set JAVA=java
    ) ELSE (
set JAVA="%JAVA_HOME%/bin/java"

)至

IF ["%JAVA_HOME%"] EQU [""] (
set JAVA=java
    ) ELSE (
set JAVA="%JAVA_HOME%/java"

) . 因为myjavahome已经包含/bin后缀,所以要么从java home中删除bin后缀,要么修改kafka run类。
但是当从命令提示符运行时,我还是遇到了同样的错误。然后我关闭cmd,再次打开新的命令提示符,运行下面的命令,它成功地运行了。

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

note:if you 修改系统变量,然后需要重新启动系统。

相关问题