如何在Windows上安装Kafka?

问题描述 投票:34回答:11

我正在尝试在Windows上安装Kafka消息队列以进行测试(不用于生产)。

我发现这篇文章是关于如何在Windows上安装Apache Kafka 0.8:http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/

这是一篇很好的文章,但不幸的是它已经过时了。

有人知道实现这一目标的方法吗?

windows apache-kafka apache-zookeeper
11个回答
26
投票

好吧,它最终并不复杂:)

唯一的步骤是:

  1. 下载Kafka并将其解压缩到好处(让我们说C:/Kafka
  2. 安装Cygwin
  3. 编辑\bin\kafka-run-class.sh并在文件末尾进行更改 exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"exec java $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp `cygpath -wp $CLASSPATH` $KAFKA_OPTS "$@"
  4. 在Environment Variables中,将java添加到Path系统变量:

就是这样..你现在可以运行ZooKeeper和Kafka服务器和start playing with topics and stuff ..


0
投票

这是一个老线程,但对于2018年阅读此内容的人,我建议在docker中运行kafka。关于此的许多教程之一:security.protocol=SSL ssl.truststore.location=C:\\ProgramData\\kafka\\kafka-truststore.jks ssl.truststore.password=PASSWORD ssl.keystore.location=C:\\ProgramData\\kafka\\kafka-keystore.jks ssl.keystore.password=PASSWORD ssl.key.password=PASSWORD client.id=console-test


0
投票

我刚刚尝试在Windows上安装Apache Kafka几天后记录了kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list后的步骤。希望这对你有所帮助。


18
投票

一个更新的答案为其他人的利益仍然想知道这一点,我下载了二进制文件,一切都开箱即用。但是,源版本不起作用。


15
投票

这些是我在Windows上运行kafka时所遵循的步骤

  1. 首先安装Zookeeper(I downloaded v3.3.6)zookeeper-3.3.6.tar.gz
  2. 提取Zookeeper并在powershell / cmd \zookeeper-3.3.6\bin> .\zkServer.cmd中运行此命令现在这应该在localhost:2181上运行Zookeeper实例
  3. 下载Kafka二进制版本(I downloaded v0.10.0.1)kafka_2.10-0.10.0.1.tgz
  4. 提取卡夫卡,时间来修改一些配置
  5. 在卡夫卡提取内你可以找到.\config\server.properties
  6. .\config\server.properties取代log.dirs=c:/kafka/kafka-logs
  7. 注意:确保在相关路径中创建这些文件夹
  8. 新闻:现在Kafka附带windows .bat脚本,你可以在./bin/windows文件夹中找到这些文件
  9. 启动powershell / cmd并运行此命令以启动Kafka代理.\bin\windows\kafka-server-start.bat .\config\server.properties
  10. DONE!,现在您有一个正在运行的Zookeeper实例和一个Kafka代理。

13
投票

您可能会发现Kafka在bin文件夹下附带了Windows .bat文件,以帮助您在Windows下运行Kafka。但是,从版本0.8.0开始,这些bat文件没有更新,并且Kafka的一些逻辑已经改变(关于主题等)。

我试过两种方法来解决这个问题。一种是使用Cygwin或MinGW来模拟Linux环境并运行Linux shell脚本,但是会有大量与路径名相关的其他问题。另一个更简单且更少麻烦的解决方案是使用更正版本的Windows bat文件。

请参考这个blog post


3
投票

在0.9.0版中。 Windows的“bin”文件夹中有脚本。你可以使用它们。


1
投票
  1. https://kafka.apache.org/downloads下载Kafka的任何二进制版本(我已经下载了kafka_2.11-0.10.2.0)
  2. 将其解压缩到任何文件夹(我已提取到“C:\ Kafka”)
  3. 打开命令提示符
  4. 转到提取Kafka的文件夹(C:\ Kafka \ kafka_2.11-0.10.2.0)
  5. 运行此命令。\ bin \ windows \ zookeeper-server-start.bat。\ config \ zookeeper.properties启动Zookeeper
  6. 运行此命令。\ bin \ windows \ kafka-server-start.bat。\ config \ server.properties启动Kafka

现在它有效!


1
投票

从Windows Shell运行

截至2019年4月,从他们的网站下载Kafka几乎是开箱即用的

下载和使用Windows版本的.bat文件如下所述:https://kafka.apache.org/quickstart

我这样做时遇到了两个问题:

1)JAVA_HOME被设置为不受支持的JDK,这导致了这种错误

线程“main”中的异常java.lang.VerifyError:未初始化的对象存在于向后分支209上

用JDK 11替换解决了这个问题。

2)JAVA_HOME不得包含导致“找不到指定文件”错误的空格。为了解决这个问题,我使用了像set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1这样的缩短路径


从Cygwin运行

如果不是.bat文件,你想从cygwin运行.sh文件,实际上有很多工作需要完成,甚至在那之后可能会出现问题。我真的不推荐这个选项,但我确实使用它,因为它非常方便用于某些目的。

如果您的JAVA_HOME路径包含空格,例如“C:\ Program Files \ Java \ Jdk ...”你会看到这样的东西:

bin / kafka-run-class.sh:line 305:exec:C:\ Program:not found

一种解决方案是将jdk复制到没有空格的路径,并相应地更改Java主目录。

如果您不想更改JDK位置,可以按如下方式更改cygwin env变量:

JAVA_HOME="/cygdrive/c/Program Files/Java/jdk-11.0.1"

并改变线

exec $JAVA $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"

exec "$JAVA" $KAFKA_HEAP_OPTS $KAFKA_JVM_PERFORMANCE_OPTS $KAFKA_GC_LOG_OPTS $KAFKA_JMX_OPTS $KAFKA_LOG4J_OPTS -cp $CLASSPATH $KAFKA_OPTS "$@"

kafka-run-class.sh中的日志参数还有另一个问题,我不得不替换该行

KAFKA_GC_LOG_OPTS="-Xlog:gc*:file=$LOG_DIR/$GC_LOG_FILE_NAME:time,tags:filecount=10,filesize=102400"

KAFKA_GC_LOG_OPTS="-Xlog:gc*"

即使经过所有这些更改,我偶尔会遇到Kafka关闭的问题,因为日志目录中的窗口样式路径不兼容,如下所述:Kafka 1.0 stops with FATAL SHUTDOWN error. Logs directory failed简而言之,您可能最好从Windows目录运行Kafka .bat脚本。 ..


0
投票

是的,我在我的Windows机器上配置了ZOOKEEPER和Apache Kafka。对于ZOOKEEPER,只需配置ZOOKEEPER_HOME并设置路径,然后将zoo.sample.cfg重命名为zoo.cfg,并在zoo.cfg中更改dataDir的路径。

对于Apache Kafka,只需从bin文件夹解压缩并启动服务器,然后从Kafka目录下的windows文件夹启动Producer / Consumer


0
投票

使用Chocolatey和Powershell:

  1. qazxsw poi - >将Kafka安装到qazxsw poi中 - 您的版本当然可能有所不同
  2. 使用chocolatey.exe install kafkaC:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\添加到您的powershell路径

重新启动powershell后,C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\应该作为命令工作。

您还需要使用keystore和truststore安装ssl.properties。把他们放在进入notepad $PROFILE并把它放入kafka-console-consumer(请注意反斜杠的逃逸):

C:\ProgramData\kafka

现在像ssl.properties这样的东西应该首先弹出一个你需要接受的防火墙警告,然后输出一个组列表。

© www.soinside.com 2019 - 2024. All rights reserved.