我正在尝试在windows上安装kafka消息队列以进行测试(而不是用于生产)。我找到了这篇关于如何在windows上安装apache kafka 0.8的文章:http://janschulte.wordpress.com/2013/10/13/apache-kafka-0-8-on-windows/这是一篇好文章,但不幸的是,它已经过时了。有人知道实现这个目标的方法吗?
q43xntqr1#
是的,我已经在我的windows机器上配置了zookeeper和apachekafka。对于zookeeper,只需配置zookeeper\u home并设置路径,然后将zoo.sample.cfg重命名为zoo.cfg,并更改zoo.cfg中datadir的路径对于apachekafka,只需解压缩并从bin文件夹启动服务器,然后从kafka目录下的windows文件夹启动producer/consumer
u1ehiz5o2#
在版本0.9.0中。windows的“bin”文件夹中有脚本。你可以用它们。
fquxozlt3#
参考官方文件,https://kafka.apache.org/quickstart在windows平台上使用 bin\windows\ 而不是 bin/ ,并将脚本扩展名更改为 .bat .
bin\windows\
bin/
.bat
gr8qqesn4#
kafka&zookeeper有内置的windows特定脚本,已在最新版本中验证。如其他答案所述,windows脚本的目录将在 kafka_2.12-2.4.0\bin\windows 为了Kafka。zookeeper脚本仅在/bin下,但以“*.cmd”结尾将有几个小的额外步骤,你将不得不与zookeeper和Kafka一样做为zookeeper创建zoo.cfg为zeekeeper配置windows特定的数据目录kafka附带了默认的配置文件&它有非常好的操作系统特定的处理。 log.dirs=/tmp/kafka-logs 但它将在下面创建目录结构 C:/ 无故障的无缝目录。在windows上用小配置快速设置带有多个kafka代理的kafka集群也很容易。您还可以从windows命令提示符创建主题、发布/使用消息、验证主题/分区等。这里是一个很好的详细的参考,为特定于windows的安装Kafka安装在windows操作系统|基本安装,设置,验证,群集设置,存储
kafka_2.12-2.4.0\bin\windows
log.dirs=/tmp/kafka-logs
C:/
z18hc3ub5#
一个更为最新的答案是为了让其他仍然对此感到疑惑的人受益,我下载了二进制文件,所有的东西都是开箱即用的。然而,源代码版本不起作用。
aelbi1ox6#
从下载Kafka的任何二进制版本(我下载了Kafka2.11-0.10.2.0)https://kafka.apache.org/downloads将其解压缩到任何文件夹(我已解压缩到“c:\kafka”)打开命令提示符转到提取Kafka的文件夹(c:\kafka\kafka\u 2.11-0.10.2.0)运行此命令。\bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties以启动zookeeper运行此命令。\bin\windows\kafka-server-start.bat.\config\server.properties以启动kafka现在成功了!
r8xiu3jd7#
您可能会发现kafka在bin文件夹下附带了windows.bat文件,以帮助您在windows下运行kafka。但是,这些bat文件在版本0.8.0之后没有更新,Kafka的一些逻辑也发生了变化(关于主题等)。我试过两种方法来解决这个问题。一种是使用cygwin或mingw来模拟linux环境并运行linuxshell脚本,但是与路径名相关的问题还有很多。另一种更简单、麻烦更少的解决方案是使用windows bat文件的正确版本。请参考这篇博文。
piwo6bdm8#
巧克力和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\ 到您的powershell路径使用 notepad $PROFILE 重新启动powershell后 kafka-console-consumer 应该像命令一样工作。您还需要使用keystore和truststore安装ssl.properties。把它们放进 C:\ProgramData\kafka 把它放进 ssl.properties (请注意反斜杠的转义):
chocolatey.exe install kafka
C:\ProgramData\chocolatey\lib\kafka\tools\kafka_2.11-1.0.0\
notepad $PROFILE
kafka-console-consumer
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 应该首先弹出一个防火墙警告,您需要接受它,然后输出一个组列表。
kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list
wgx48brx9#
从windows shell运行截至2019年4月,从他们的网站下载Kafka在windows上几乎是开箱即用下载和使用windows版本的.bat文件如下:https://kafka.apache.org/quickstart我做这件事时遇到了两个问题:1) javahome被设置为不受支持的jdk,这导致了这种错误线程“main”java.lang.verifyerror中出现异常:反向分支209上存在未初始化的对象用jdk 11替换解决了这个问题。2) javau home不能包含导致“找不到指定文件”错误的空格。为了解决这个问题,我使用了一个缩短的路径,比如 set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1 从cygwin那里逃跑如果您想从cygwin运行.sh文件而不是.bat文件,那么实际上需要做很多工作,即使在这之后,也可能会出现问题。我真的不能推荐这个选项,但我确实使用它,因为它在某些方面非常方便。如果java\u主路径包含空格,例如“c:\program files\java\jdk…”,您将看到如下内容:bin/kafka-run-class.sh:第305行:exec:c:\program:找不到一种解决方案是将jdk复制到没有空格的路径,并相应地更改java主目录。如果不想更改jdk位置,可以按如下方式更改cygwin env变量:
set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1
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关闭的问题,因为logs目录中有一个不兼容的windows风格的路径,如下所述:kafka 1.0停止时出现致命的关闭错误。日志目录失败简而言之,您最好从windows目录运行kafka.bat脚本。。。
xxslljrj10#
以下是我在windows上运行kafka的步骤先安装zookeeper(我下载了v3.3.6) zookeeper-3.3.6.tar.gz 提取zookeeper并在powershell/cmd中运行此命令 \zookeeper-3.3.6\bin> .\zkServer.cmd 现在应该在 localhost:2181 下载Kafka二进制版本(我下载了v0.10.0.1) kafka_2.10-0.10.0.1.tgz 提取Kafka,时间修改一些配置在Kafka提取你可以找到 .\config\server.properties 在 .\config\server.properties 替换 log.dirs=c:/kafka/kafka-logs 注意:确保在相关路径中创建这些文件夹好消息:现在kafka附带了windows.bat脚本,你可以在里面找到这些文件 ./bin/windows 文件夹启动powershell/cmd并运行此命令以启动kafka代理 .\bin\windows\kafka-server-start.bat .\config\server.properties 完成!,现在您有了一个正在运行的zookeeper示例和一个kafka代理。
zookeeper-3.3.6.tar.gz
\zookeeper-3.3.6\bin> .\zkServer.cmd
localhost:2181
kafka_2.10-0.10.0.1.tgz
.\config\server.properties
log.dirs=c:/kafka/kafka-logs
./bin/windows
.\bin\windows\kafka-server-start.bat .\config\server.properties
2mbi3lxu11#
好了,终于不复杂了:)唯一的步骤是:下载Kafka并将其解压缩到某个好的地方(比如 C:/Kafka )安装cygwin编辑 \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 -cpcygpath -wp $CLASSPATH$KAFKA_OPTS "$@" 在环境变量中,将java添加到path系统变量中:就这样。。你现在可以运行zookeeper和kafka服务器,开始玩主题和其他东西。。
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
$KAFKA_OPTS "$@"
11条答案
按热度按时间q43xntqr1#
是的,我已经在我的windows机器上配置了zookeeper和apachekafka。对于zookeeper,只需配置zookeeper\u home并设置路径,然后将zoo.sample.cfg重命名为zoo.cfg,并更改zoo.cfg中datadir的路径
对于apachekafka,只需解压缩并从bin文件夹启动服务器,然后从kafka目录下的windows文件夹启动producer/consumer
u1ehiz5o2#
在版本0.9.0中。windows的“bin”文件夹中有脚本。你可以用它们。
fquxozlt3#
参考官方文件,
https://kafka.apache.org/quickstart
在windows平台上使用
bin\windows\
而不是bin/
,并将脚本扩展名更改为.bat
.gr8qqesn4#
kafka&zookeeper有内置的windows特定脚本,已在最新版本中验证。如其他答案所述,windows脚本的目录将在
kafka_2.12-2.4.0\bin\windows
为了Kafka。zookeeper脚本仅在/bin下,但以“*.cmd”结尾将有几个小的额外步骤,你将不得不与zookeeper和Kafka一样做
为zookeeper创建zoo.cfg
为zeekeeper配置windows特定的数据目录
kafka附带了默认的配置文件&它有非常好的操作系统特定的处理。
log.dirs=/tmp/kafka-logs
但它将在下面创建目录结构C:/
无故障的无缝目录。在windows上用小配置快速设置带有多个kafka代理的kafka集群也很容易。您还可以从windows命令提示符创建主题、发布/使用消息、验证主题/分区等。这里是一个很好的详细的参考,为特定于windows的安装Kafka安装在windows操作系统|基本安装,设置,验证,群集设置,存储
z18hc3ub5#
一个更为最新的答案是为了让其他仍然对此感到疑惑的人受益,我下载了二进制文件,所有的东西都是开箱即用的。然而,源代码版本不起作用。
aelbi1ox6#
从下载Kafka的任何二进制版本(我下载了Kafka2.11-0.10.2.0)https://kafka.apache.org/downloads
将其解压缩到任何文件夹(我已解压缩到“c:\kafka”)
打开命令提示符
转到提取Kafka的文件夹(c:\kafka\kafka\u 2.11-0.10.2.0)
运行此命令。\bin\windows\zookeeper-server-start.bat.\config\zookeeper.properties以启动zookeeper
运行此命令。\bin\windows\kafka-server-start.bat.\config\server.properties以启动kafka
现在成功了!
r8xiu3jd7#
您可能会发现kafka在bin文件夹下附带了windows.bat文件,以帮助您在windows下运行kafka。但是,这些bat文件在版本0.8.0之后没有更新,Kafka的一些逻辑也发生了变化(关于主题等)。
我试过两种方法来解决这个问题。一种是使用cygwin或mingw来模拟linux环境并运行linuxshell脚本,但是与路径名相关的问题还有很多。另一种更简单、麻烦更少的解决方案是使用windows bat文件的正确版本。
请参考这篇博文。
piwo6bdm8#
巧克力和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\
到您的powershell路径使用notepad $PROFILE
重新启动powershell后kafka-console-consumer
应该像命令一样工作。您还需要使用keystore和truststore安装ssl.properties。把它们放进
C:\ProgramData\kafka
把它放进ssl.properties
(请注意反斜杠的转义):现在的情况是
kafka-consumer-groups --bootstrap-server SERVERNAME:9094 --command-config C:\ProgramData\kafka\ssl.properties --list
应该首先弹出一个防火墙警告,您需要接受它,然后输出一个组列表。wgx48brx9#
从windows shell运行
截至2019年4月,从他们的网站下载Kafka在windows上几乎是开箱即用
下载和使用windows版本的.bat文件如下:https://kafka.apache.org/quickstart
我做这件事时遇到了两个问题:
1) javahome被设置为不受支持的jdk,这导致了这种错误
线程“main”java.lang.verifyerror中出现异常:反向分支209上存在未初始化的对象
用jdk 11替换解决了这个问题。
2) javau home不能包含导致“找不到指定文件”错误的空格。为了解决这个问题,我使用了一个缩短的路径,比如
set JAVA_HOME=C:\Progra~1\Java\jdk-11.0.1
从cygwin那里逃跑如果您想从cygwin运行.sh文件而不是.bat文件,那么实际上需要做很多工作,即使在这之后,也可能会出现问题。我真的不能推荐这个选项,但我确实使用它,因为它在某些方面非常方便。
如果java\u主路径包含空格,例如“c:\program files\java\jdk…”,您将看到如下内容:
bin/kafka-run-class.sh:第305行:exec:c:\program:找不到
一种解决方案是将jdk复制到没有空格的路径,并相应地更改java主目录。
如果不想更改jdk位置,可以按如下方式更改cygwin env变量:
换条线
到
kafka-run-class.sh中的日志参数有另一个问题,我必须替换该行
具有
即使在所有这些更改之后,我偶尔也会遇到kafka关闭的问题,因为logs目录中有一个不兼容的windows风格的路径,如下所述:kafka 1.0停止时出现致命的关闭错误。日志目录失败简而言之,您最好从windows目录运行kafka.bat脚本。。。
xxslljrj10#
以下是我在windows上运行kafka的步骤
先安装zookeeper(我下载了v3.3.6)
zookeeper-3.3.6.tar.gz
提取zookeeper并在powershell/cmd中运行此命令\zookeeper-3.3.6\bin> .\zkServer.cmd
现在应该在localhost:2181
下载Kafka二进制版本(我下载了v0.10.0.1)kafka_2.10-0.10.0.1.tgz
提取Kafka,时间修改一些配置在Kafka提取你可以找到
.\config\server.properties
在.\config\server.properties
替换log.dirs=c:/kafka/kafka-logs
注意:确保在相关路径中创建这些文件夹好消息:现在kafka附带了windows.bat脚本,你可以在里面找到这些文件
./bin/windows
文件夹启动powershell/cmd并运行此命令以启动kafka代理
.\bin\windows\kafka-server-start.bat .\config\server.properties
完成!,现在您有了一个正在运行的zookeeper示例和一个kafka代理。2mbi3lxu11#
好了,终于不复杂了:)
唯一的步骤是:
下载Kafka并将其解压缩到某个好的地方(比如
C:/Kafka
)安装cygwin
编辑
\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添加到path系统变量中:就这样。。你现在可以运行zookeeper和kafka服务器,开始玩主题和其他东西。。