【问题标题】:Apache kafka error on windows 10: kafka-topics.bat file gives syntax errorWindows 10 上的 Apache kafka 错误:kafka-topics.bat 文件给出语法错误
【发布时间】: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.batkafka-run-class.bat的目录。运行where kafka-topics.bat可以看到批处理文件的路径。
  • 不是一个答案,但我遇到了同样的问题并决定使用 WSL bash 来运行 Linux 脚本,效果很好。 (使用 openjdk-11)。我不得不编辑我的主机文件as described here
  • 我部分解决了这个问题。我将目录更改为 C:\ ,不认为这是答案,我下载了 kafka 二进制版本而不是源代码。 .bat 文件有效,但我仍然遇到 .sh 文件的相同问题。好东西,我从来没有打算使用 .sh

标签: batch-file apache-kafka


【解决方案1】:

在我的情况下,它仅在我将 Kafka 文件夹移动到 C: 分区且路径中没有任何空格时才有效 例如 C:\Kafka_sources 我使用以下命令创建了一个主题

kafka-topics.bat --create --topic test --zookeeper localhost:2181 --partitions 1 --replication-factor 1

【讨论】:

    【解决方案2】:

    就我而言:

    • 我删除了目录的 .properties 中的引号
    • 在目录中使用正斜杠。属性
    • 我删除了目录路径中的点版本号(不知道这是否决定了)
    • 但以点和反斜杠开头 .\bin\windows\kafka-server-start.bat .\config\server.properties)
    • d:\ 是可能的!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-18
      • 2019-05-04
      • 2017-08-01
      • 2014-09-22
      • 2017-02-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多