【发布时间】:2022-04-14 21:01:58
【问题描述】:
我开始学习卡夫卡。我成功地运行了 zookeeper 和 kafka。我使用的是 Windows10,我的 kafka 版本是 2_12-2.5.0。 我的问题是,当我尝试使用以下命令从 cmd 创建主题时:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic firstTopic`
我得到错误:
The syntax of the command is incorrect.
我知道我写的命令是正确的,问题是 .bat 文件中的命令,因为我更改了 kafka-topics.bat 中的命令,错误发生了变化。但是我无法运行它。这是kafka-topics.bat的内容:
"%~dp0kafka-run-class.bat" kafka.admin.TopicCommand %*
我也尝试运行 kafka-topics.sh 文件而不是批处理,但是打开 git bash 时会出现不同的错误,即:
Error:Could not find or load main class kafka.admin.topicCommand
我在写路径时也去掉了“程序文件”中的空格,所以我认为这不是这个错误的原因。
我被卡住了,因为我是新手,所以很难理解这些错误。 你能帮忙吗?
【问题讨论】:
-
您得到的错误可能会有所不同,但这可能会有所帮助,请检查一下-stackoverflow.com/questions/25037263/…
-
我想在写问题时错误地添加了第一个命令行末尾的`。
-
我建议将
cd /D "directory path"的当前工作目录更改为包含kafka-topics.bat和kafka-run-class.bat的目录。运行where kafka-topics.bat可以看到批处理文件的路径。 -
不是一个答案,但我遇到了同样的问题并决定使用 WSL bash 来运行 Linux 脚本,效果很好。 (使用 openjdk-11)。我不得不编辑我的主机文件as described here。
-
我部分解决了这个问题。我将目录更改为 C:\ ,不认为这是答案,我下载了 kafka 二进制版本而不是源代码。 .bat 文件有效,但我仍然遇到 .sh 文件的相同问题。好东西,我从来没有打算使用 .sh