我尝试在Windows 上安装Kafka邮件队列以进行测试(不用于生产)。
我发现这篇文章是关于如何在Windows上安装Apache Kafka 0.8:http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/
这是一篇好文章,但遗憾的是它已经过时了。
有人知道实现这一目标的方法吗?
答案 0 :(得分:25)
好的,它最终并不复杂:)
唯一的步骤是:
C:/Kafka
)修改\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 "$@"
在环境变量中,将java添加到路径系统变量:
那就是..你现在可以运行ZooKeeper和Kafka服务器以及start playing with topics and stuff ..
答案 1 :(得分:18)
一个更新的答案为了其他人的利益仍然对此感到疑惑,我下载了二进制文件,一切都开箱即用。但是,源版本没有用。
答案 2 :(得分:15)
以下是我在Windows上运行kafka的步骤
zookeeper-3.3.6.tar.gz
\zookeeper-3.3.6\bin> .\zkServer.cmd
中运行此命令现在这应该是localhost:2181
上的Zookeeper实例kafka_2.10-0.10.0.1.tgz
.\config\server.properties
.\config\server.properties
替换log.dirs=c:/kafka/kafka-logs
./bin/windows
文件夹.\bin\windows\kafka-server-start.bat .\config\server.properties
答案 3 :(得分:13)
您可能会发现Kafka附带了 bin 文件夹下的Windows .bat文件,以帮助您在Windows下运行Kafka。但是,从版本0.8.0开始,这些bat文件没有更新,并且Kafka的一些逻辑已经改变(关于主题等)。
我尝试了两种方法来解决这个问题。一种是使用Cygwin或MinGW来模拟Linux环境并运行Linux shell脚本,但是会有大量与路径名相关的其他问题。另一个更简单且更少麻烦的解决方案是使用更正版本的Windows bat文件。
请参阅此blog post。
答案 4 :(得分:3)
在0.9.0版本中。在" bin"中有脚本Windows文件夹。你可以使用它们。
答案 5 :(得分:1)
现在它有效!
答案 6 :(得分:1)
从Windows Shell运行
截止到2019年4月,从他们的网站下载Kafka几乎可以立即在Windows上运行
在此介绍了如何下载和使用Windows版本的.bat文件: https://kafka.apache.org/quickstart
执行此操作时遇到两个问题:
1)JAVA_HOME设置为不支持的JDK,导致了这种错误
线程“主”中的异常java.lang.VerifyError:未初始化的对象 存在于向后分支209
替换JDK 11解决了该问题。
2)JAVA_HOME不能包含引起“找不到指定文件”错误的空格。为了解决这个问题,我使用了缩短的路径,例如set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1
从Cygwin运行
如果要从 cygwin 运行.sh文件而不是.bat文件,则实际上需要做很多工作,甚至在此之后可能仍然存在一些问题以后再说。我真的不能推荐此选项,但是我确实会使用它,因为它出于某些目的非常方便。
如果您的JAVA_HOME路径包含空格,例如“ C:\ Program Files \ Java \ Jdk ...”,您将看到类似以下内容:
bin / kafka-run-class.sh:第305行:exec:C:\ Program:未找到
一种解决方案是将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*"
即使在所有这些更改之后,我有时也会遇到由于日志目录中不兼容的Windows样式路径而导致Kafka关闭的问题,如下所述: Kafka 1.0 stops with FATAL SHUTDOWN error. Logs directory failed 简而言之,您最好从Windows目录运行Kafka .bat脚本...
答案 7 :(得分:1)
答案 8 :(得分:0)
是的,我在Windows机器上配置了ZOOKEEPER和Apache Kafka。 对于ZOOKEEPER,只需配置ZOOKEEPER_HOME并设置路径,然后将zoo.sample.cfg重命名为zoo.cfg,并在zoo.cfg中更改dataDir的路径
对于Apache Kafka,只需从bin文件夹解压缩并启动服务器,然后从Kafka目录下的windows文件夹启动Producer / Consumer
答案 9 :(得分:0)
使用Chocolatey和Powershell:
chocolatey.exe install kafka
- >将Kafka安装到C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\
- 您的版本可能会有所不同C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\
notepad $PROFILE
添加到您的powershell路径
醇>
重新启动powershell后kafka-console-consumer
应该作为命令工作。
您还需要使用keystore和truststore安装ssl.properties。把他们放在进入C:\ProgramData\kafka
并将其放入ssl.properties
(请注意反斜杠的转义):
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
现在像kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list
之类的东西应首先弹出一个你需要接受的防火墙警告,然后输出一个组列表。
答案 10 :(得分:0)
这是一个旧线程,但是对于在2018年阅读此内容的人,我建议在docker中运行kafka。 关于此的众多教程之一: https://iteritory.com/kafka-docker-image-installation-usage-tutorial-windows/
答案 11 :(得分:0)
几天前,我刚刚尝试在Windows上安装Apache Kafka,并记下了帖子Install and setup Kafka on Windows中的步骤。希望对您有帮助。
答案 12 :(得分:0)
Kafka&Zookeeper具有内置的Windows特定脚本,最新版本对此进行了验证。如其他答案所述,Windows脚本的目录将在Kafka的kafka_2.12-2.4.0\bin\windows
下。 Zookeeper脚本仅在/ bin下,但以“ * .cmd”结尾
与ZooKeeper和Kafka一样,您将需要执行一些次要的步骤
log.dirs=/tmp/kafka-logs
,但它将无缝地在C:/
目录下创建该目录结构。在具有次要配置的Windows上快速设置具有多个Kafka代理的Kafka群集也很容易。您还可以从Windows命令提示符创建主题,发布/使用消息,验证主题/分区等。这是针对Windows特定设置Kafka Setup on Windows OS | Basic Installation, Setup, Verification, Cluster Setup, Storage
的很好的详细参考答案 13 :(得分:0)
我创建了一篇关于 installing kafka on windows 10 的新文章,仅用于测试。处理命令过长问题,通过在kafka服务器配置文件中增加timeout参数和注释broker.id参数解决kafka服务器和zookeeper服务器的连接问题。