在Windows上运行Kafka时出错

时间:2015-12-04 05:14:20

标签: apache-kafka apache-zookeeper

我试图在Windows机器上运行Kafka,当我尝试启动动物园管理员时,我面临着这个奇怪的错误。

classpath为空。请首先构建项目,例如通过运行' gradlew jarall'

任何帮助..?

Vishesh。

15 个答案:

答案 0 :(得分:15)

如果其他人遇到此问题:

  • 注意:请勿从appache kafka下载源文件,下载二进制文件
  • 从这里下载Kafka:Link
  • 另请参阅此link了解更多信息
  • group还有一些其他信息

答案 1 :(得分:12)

按照以下步骤操作Windows& kafka 0.9.0.0(相同的步骤将与较低版本的kafka一起使用) 首先下载二进制文件: https://www.apache.org/dyn/closer.cgi?path=/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz

提取到您的特定文件夹然后

步骤1:在kafka目录中创建新目录

 - kafka-logs
 - zookeeper

步骤1之后的目录将是:

 - bin 
 - config
 - kafka-logs
 - libs
 - site-docs
 - zookeeper

步骤2:打开config / server.properties并更改以下属性

 - log.dirs={fullpath}/kafka-logs

步骤3:打开config / zookeeper.properties并更改belwo属性

 - dataDir={fullpath}/zookeeper

步骤4:使用以下脚本在bin / windows文件夹下创建一个run.bat文件:

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

TIMEOUT 10

start kafka-server-start.bat ..\..\config\server.properties

exit

为方便起见,您可以更改超时。

答案 2 :(得分:7)

在这里,我认为您下载了kafka源代码。你需要下载二进制文件

https://www.apache.org/dyn/closer.cgi?path=/kafka/0.9.0.0/kafka_2.11-0.9.0.0.tgz

答案 3 :(得分:6)

我有完全相同的问题,我终于解决了它。 问题是你的路径中有空格字符(文件夹名称内),导致“dirname”命令接收多个参数。

因此,为了解决这个问题,您只需要从Kafka文件夹路径中的文件夹名称中删除空格。

答案 4 :(得分:2)

请按照以下步骤解决此错误。

第一步:进入kafka下载文件夹

cd kafka-2.5.0-src

第2步:运行gradle

./gradlew jar 

步骤3:构建成功后,启动kafka服务器

bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties

现在,Kafka将在localhost:9092上启动

答案 5 :(得分:1)

如果您使用Kafka源在Windows 10计算机上运行Kafka服务器。我们需要首先使用以下步骤构建源代码。

请注意:在执行以下步骤之前,我们需要安装gradle构建工具并设置路径变量。

  1. 打开命令提示符并导航到Kafka主目录

    C:\ kafka-1.1.1-src>

  2. 输入命令“ gradle”,然后按Enter

    C:\ kafka-1.1.1-src> gradle

  3. 构建成功后,输入以下命令

    C:\ kafka-1.1.1-src> gradlew jar

  4. 现在输入以下命令以启动服务器

    C:\ kafka-1.1.1-src>。\ bin \ windows \ kafka-server-start.bat。\ config \ server.properties

如果一切顺利,您的命令提示符将如下所示 enter image description here

答案 6 :(得分:0)

我按照https://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/链接来配置kafka并且它有效。但是我使用了帖子中提到的相同版本(旧版本)。现在我需要kafka用于我的项目,所以决定继续使用该版本。

作者在解释中遗漏了一些东西。请在下面找到它们

1)下载sbt windows安装程序后,需要重新启动系统而不仅仅是shell,以反映必要的更改

2)在kafka-run-class.sh的第66,67行添加以下内容

JAVA ="的java"

$ JAVA $ KAFKA_OPTS $ KAFKA_JMX_OPTS -cp cygpath -wp $CLASSPATH" $ @" (确保您的java在环境变量中配置)

3)遍历到相应的路径,运行zookeeper命令 bin / zookeeper-server-start.sh config / zookeeper.properties

如果您有任何疑问,请给我贴上标签!很乐意帮忙!

Running!

答案 7 :(得分:0)

使用Windows 10:

  1. 下载并解压缩bin kafka并更改config / server.properties;对我来说,它改变了

    log.dirs=/tmp/kafka-logs
    

    log.dir= D:\Elastic_search\kafka_2.11-0.9.0.0\kafka-logs
    

    创建新目录kafka-logs

  2. 运行

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

    在您的根kafka_2.11-0.9.0.0文件夹中,CMD“再次”

答案 8 :(得分:0)

我遇到了同样的问题。也下载zookeeper tar文件。 将Zookeeper下载到相同的文件夹中,然后键入相同的命令对我有用。

答案 9 :(得分:0)

请确保您使用的是zookeeper.properties文件的正确路径。在我的情况下,我使用.bat文件的完整路径,而使用.properties文件的相对路径错误。 错误的zookeeper.properties路径会产生您提到的错误。 请注意,我使用的是二进制文件,而不是kafka源码。

答案 10 :(得分:0)

我发现我使用的先前版本的\ bin \ windows \ kafka-run-class.bat中缺少添加到类路径中的以下代码。 (融合版4.0.0和5.3.1)

rem Classpath addition for LSB style path
if exist %BASE_DIR%\share\java\kafka\* (
   call :concat %BASE_DIR%\share\java\kafka\* 
)

答案 11 :(得分:0)

对我来说,问题在于解压缩文件时。我将它们移到另一个文件夹,出现了问题。我再次解压缩了目录结构,并且它起作用了。

感谢奥兰多·门德斯(Orlando Mendez)的建议! https://www.youtube.com/watch?v=7F9tBwTUSeY

答案 12 :(得分:0)

有同样的问题,这是因为我下载了源文件而不是二进制文件。

答案 13 :(得分:0)

当Kafka文件夹路径的长度很长时,这发生在我身上。尝试使用较短的路径,如“D:\kafka_2.12-2.7.0”

答案 14 :(得分:0)

简单地确保您的文件夹层次结构中没有空格

例如: 而不是 -> "c:\desktop\work files\kafka_2.12-2.7.0"

使用这个 -> "c:\desktop\work-files\kafka_2.12-2.7.0"

这对我有用!