Apache Kafka在Windows上的安装与配置指南

Apache Kafka是一个快速且可扩展的消息队列系统,能够处理大量的读写负载。本文将指导如何在Windows系统上安装和配置Kafka及其依赖的Zookeeper服务。

Kafka需要Zookeeper实例来运行,用于实现可靠的分布式协调。可以在以下链接了解更多关于Kafka和Zookeeper的信息:

还可以参考以下视频了解如何在Windows上设置Kafka。

首先,需要下载以下文件:

  • 根据操作系统和CPU架构,从下载Java运行环境(JRE)。
  • 从下载并安装7-Zip压缩软件。
  • 使用7-Zip从下载并解压Zookeeper。
  • 使用7-Zip从下载并解压Kafka。

安装步骤

开始JRE的安装过程,并勾选“更改目标文件夹”选项,然后点击安装。将安装目录更改为文件夹名称中不包含空格的任何路径。例如,C:\Java\jre1.8.0_xx\。(默认路径为C:\Program Files\Java\jre1.8.0_xx),然后点击下一步。

接下来,通过控制面板 -> 系统 -> 高级系统设置 -> 环境变量…打开系统环境变量对话框。

在用户变量部分点击“新建…”按钮,然后在变量名中输入JAVA_HOME,并在变量值中输入JRE路径。它应该看起来像这样:

C:\Java\jre1.8.0_xx\

现在点击确定。在“系统变量”部分的“环境变量”对话框中搜索Path变量。编辑路径,并在已经写入的文本末尾添加“;%JAVA_HOME%\bin”。

为了确认Java的安装,请打开命令提示符并输入“java --version”,应该能够看到刚刚安装的Java版本。如果命令提示符看起来像上面的图片,那么已经准备好了。否则,需要重新检查设置版本是否与操作系统架构(x86,x64)匹配,或者环境变量路径是否正确。

转到Zookeeper配置目录。例如,C:\zookeeper-3.4.7\conf。

将文件“zoo_sample.cfg”重命名为“zoo.cfg”。使用文本编辑器(如记事本++)打开zoo.cfg。

找到并编辑“dataDir=/tmp/zookeeper”为“dataDir=C:\zookeeper-3.4.7\data”。

按照为Java所做的方式,在系统环境变量中添加ZOOKEEPER_HOME:

C:\zookeeper-3.4.7

编辑系统变量名为“Path”的变量,在末尾添加“;%ZOOKEEPER_HOME%\bin;”。可以在zoo.cfg文件中更改默认的Zookeeper端口(默认端口2181)。

通过打开新的命令提示符并输入zkserver来运行Zookeeper。将在命令提示符中看到一些详细信息。

恭喜,Zookeeper正在端口2181上运行。

转到Kafka配置目录。例如,C:\kafka_2.11-0.9.0.0\config。

编辑文件“server.properties”,找到并编辑行“log.dirs=/tmp/kafka-logs”为“log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs”。

如果Zookeeper在其他机器或集群上运行,可以编辑“zookeeper.connect=localhost:2181”为自定义IP和端口。对于这个演示,使用相同的机器,所以不需要更改。Kafka端口和broker.id也可以在此文件中配置。保留其他设置不变。

Kafka将在默认端口9092上运行,并连接到Zookeeper的默认端口2181。

请确保在启动Kafka服务器之前,Zookeeper已经运行。

转到Kafka安装目录C:\kafka_2.11-0.9.0.0\。

通过按住Shift键并右键单击选择“打开命令窗口”选项,在这里打开命令提示符。

现在输入.\bin\windows\kafka-server-start.bat .\config\server.properties并按回车键。如果一切顺利,命令提示符将看起来像这样:

现在Kafka已经运行,可以创建主题,并从Java/Scala代码和命令提示符中生产或消费数据。

现在创建一个名为“test”的主题,复制因子为1,因为只有一个Kafka服务器在运行。如果有一个集群并且有多个Kafka服务器在运行,可以相应地增加复制因子,这将增加数据的可用性并充当容错系统。

在C:\kafka_2.11-0.9.0.0\bin\windows位置打开新的命令提示符。

输入以下命令并按回车键:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

在C:\kafka_2.11-0.9.0.0\bin\windows位置打开新的命令提示符。

要启动生产者,请输入命令:

kafka-console-producer.bat --broker-list localhost:9092 --topic test

再次在C:\kafka_2.11-0.9.0.0\bin\windows位置打开新的命令提示符。

现在通过输入命令启动消费者:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

现在将有两个命令提示符。

现在在生产者命令提示符中输入任何内容并按回车键,应该能够在另一个消费者命令提示符中看到消息。

如果能够在消费者端推送并看到消息,那么已经完成了Kafka的设置。

其他有用的命令

  • 列出主题:kafka-topics.bat --list --zookeeper localhost:2181
  • 描述主题:kafka-topics.bat --describe --zookeeper localhost:2181 --topic [主题名称]
  • 从开始读取消息:kafka-console-consumer.bat --zookeeper localhost:2181 --topic [主题名称] --from-beginning
  • 删除主题:kafka-run-class.bat kafka.admin.TopicCommand --delete --topic [要删除的主题] --zookeeper localhost:2181

相信这篇文章对于初学者和中级程序员来说,将有助于在他们的Windows服务器或桌面上启动Kafka服务器。

沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485