启动kafka时输入线太长

Geh*_*eha 11 java apache-kafka

我正在尝试在Windows上运行Kafka消息队列。

我全光照本教程- https://dzone.com/articles/running-apache-kafka-on-windows-os

当我尝试使用命令--。\ bin \ windows \ kafka-server-start.bat。\ config \ server.properties

我得到一个错误: 输入行太长。该命令的语法不正确。

卡夫卡位置-C:\ kafka_2.11-1.0.0

Mid*_*man 18

问题

kafka-run-class.bat文件执行了一堆 CLASSPATH :concat 调用,这使得 CLASSPATH 很长。

根据您的环境,太长:Windows cmd.exe 环境有 8191 个字符的限制。

解决方案

编辑kafka-run-class.bat以便...

  1. 使其不使用 CLASSPATH 或在别处设置
  2. 使路径更短,以便 concat 生成小于 8191 个字符的字符串
  3. 使 concat 使用整个文件夹而不是每个 jar(通过libs/*

例子

以下是使用第二种方法对kafka-run-class.bat( source )进行编辑的示例:

代替 ...

rem Classpath addition for release
for %%i in ("%BASE_DIR%\libs\*") do (
    call :concat "%%i"
)
Run Code Online (Sandbox Code Playgroud)

... 这样 ...

rem Classpath addition for release
call :concat "%BASE_DIR%\libs\*;"
Run Code Online (Sandbox Code Playgroud)

  • 我希望我能理解建议的解决方案,同时我非常感谢您的解释。 (3认同)

Pra*_*t_M 12

这是因为文件夹名称为'kafka_2.11-1.0.0'导致路径较长。只需将文件夹重命名为小文件即可,例如“ kafka”。

  • 为我工作!!谢谢。 (3认同)
  • 然后重新启动CMD并运行命令即可。在以前的CMD中,我发现%CLASSPATH%包含太多路径。 (2认同)

小智 9

只需将 Kafka 路径移动到更小的根路径即可解决该问题。例如“C:\Kafka”


drt*_*drt 7

以上两个选项对我都不起作用。

我刚刚将解压后的目录移动到 C:/ 驱动器并以管理员模式启动 power shell并尝试了所需的命令,zookeeper 和 broker 顺利启动。


小智 6

我已将所有内容复制到 C:/tools/kafka 并且它工作正常。问题确实是 kafka 的路径太长了。


小智 5

对我来说,只有将 Kafka 文件夹保留在 C 目录下后才有效,因此路径看起来像 C:\Kafka。我确信这会起作用。