65.9K
CodeProject 正在变化。 阅读更多。
Home

在 Windows 上运行 Apache Kafka 而无需 Cygwin

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.87/5 (8投票s)

2016年1月6日

CPOL

5分钟阅读

viewsIcon

124152

它将提供有关为 Windows 操作系统安装和配置 Apache Kafka 和 Zookeeper 的信息。

引言

本教程旨在提供在 Windows 操作系统上运行 Apache Kafka 的分步指南。本指南还将提供设置 Java 和 Zookeeper 的说明。Apache Kafka 是一个快速且可扩展的消息队列,能够处理非常繁重的读写负载。您可以在 http://kafka.apache.org/ 上找到有关 Kafka 的更多信息。Apache Kafka 需要运行一个 Zookeeper 实例,该实例用于可靠的分布式协调。请在 https://zookeeper.net.cn/ 上找到有关 Zookeeper 的更多信息。

观看此视频以了解在 Windows 上设置 Kafka。

下载所需文件

  1. 从 http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html 下载适用于您的操作系统和 CPU 架构的 Server JRE
  2. 从 http://www.7-zip.org/download.html 下载并安装 7-Zip
  3. 从 https://zookeeper.net.cn/releases.html 使用 7-Zip 下载并解压 Zookeeper
  4. 从 http://kafka.apache.org/downloads.html 使用 7-Zip 下载并解压 Kafka

安装

a. 安装和设置 Java 运行时环境 (JRE)

  1. 启动 JRE 安装,勾选“更改目标文件夹”复选框,然后点击安装。

  1. 将安装目录更改为任何不含空格的路径。例如 C:\Java\jre1.8.0_xx\。(默认情况下为 C:\Program Files\Java\jre1.8.0_xx)然后点击下一步。
  2. 现在,通过打开“控制面板”->“系统”->“高级系统设置”->“环境变量…”来打开系统环境变量对话框。
  3. 在“用户变量”部分,点击建…按钮,然后输入 JAVA_HOME 作为变量名,并给出您的 jre 路径作为变量值。它看起来应该是这样的:



(Java 路径和版本可能因您使用的 Kafka 版本而异)

  1. 现在点击确定。
  2. 在刚才打开的“环境变量”对话框的“系统变量”部分中,搜索 Path 变量。
  3. 编辑 Path 变量,在已有文本末尾添加“;%JAVA_HOME%\bin”,如下图所示。

  1. 要确认 Java 安装,只需打开命令提示符并键入“java –version”,您应该能看到您刚刚安装的 Java 的版本。

如果您的命令提示符与上图类似,则表示设置成功。否则,您需要重新检查您的安装版本是否与操作系统架构(x86、x64)匹配,或者环境变量路径是否正确。

b. 安装和运行 Zookeeper

  1. 转到您的 zookeeper 配置目录。我的目录是C:\zookeeper-3.4.7\conf
  2. 将文件“zoo_sample.cfg”重命名为“zoo.cfg”
  3. 使用记事本等任何文本编辑器打开 zoo.cfg,但我推荐使用 Notepad++。
  4. 查找并编辑行dataDir=/tmp/zookeeper 为 dataDir=C:\zookeeper-3.4.7\data
  5. 像为 Java 所做的那样,在系统环境变量中添加条目。
    1. 在系统变量中添加 ZOOKEEPER_HOME = C:\zookeeper-3.4.7
    2. 编辑名为“Path”的系统变量,添加 ;%ZOOKEEPER_HOME%\bin;
  6. 您可以在 zoo.cfg 文件中更改默认的 Zookeeper 端口(默认端口 2181)。
  7. 通过打开一个新的命令提示符并键入 zkserver 来运行 Zookeeper。
  8. 您将看到命令提示符显示一些详细信息,如下面的图片所示。

恭喜,您的 Zookeeper 已在 2181 端口上成功运行。

c. 设置 Kafka

  1. 转到您的 Kafka 配置目录。我的目录是C:\kafka_2.11-0.9.0.0\config
  2. 编辑文件“server.properties”
  3. 查找并编辑行“log.dirs=/tmp/kafka-logs”为“log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs”。
  4. 如果您的 Zookeeper 运行在其他机器或集群上,您可以将“zookeeper.connect=localhost:2181”更改为您的自定义 IP 和端口。在本演示中,我们使用同一台机器,因此无需更改。Kafka 端口和 broker.id 也可以在此文件中配置。其他设置保持不变。
  5. 您的 Kafka 将在默认端口 9092 上运行,并连接到 Zookeeper 的默认端口 2181。

d. 运行 Kafka 服务器

注意

请确保在启动 Kafka 服务器之前,您的 Zookeeper 正在运行。

  1. 转到您的 Kafka 安装目录C:\kafka_2.11-0.9.0.0\
  2. 在此处按Shift+右键单击并选择“在此处打开命令窗口”选项来打开命令提示符。
  3. 现在键入 .\bin\windows\kafka-server-start.bat .\config\server.properties 并按 Enter 键。

  1. 如果一切顺利,您的命令提示符将如下所示。

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

e. 创建 Kafka 主题

  1. 现在创建一个名为“test”的复制因子为 1 的主题,因为我们只有一个 Kafka 服务器在运行。如果您拥有一个包含 1 个以上 Kafka 服务器的集群,您可以相应地增加复制因子,这将增加数据的可用性并充当容错系统。
  2. 在 C:\kafka_2.11-0.9.0.0\bin\windows 目录中打开一个新的命令提示符。
  3. 键入以下命令并按 Enter 键:

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

f. 创建生产者和消费者来测试服务器

 

  1. 在 C:\kafka_2.11-0.9.0.0\bin\windows 目录中打开一个新的命令提示符。
  2. 要启动生产者,请键入命令“kafka-console-producer.bat --broker-list localhost:9092 --topic test”。
  3. 再次在与C:\kafka_2.11-0.9.0.0\bin\windows相同的目录中打开一个新的命令提示符。
  4. 现在通过键入命令“kafka-console-consumer.bat --zookeeper localhost:2181 --topic test”来启动消费者。
  5. 现在您将有两个命令提示符,如下面的图片所示。

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

  1. 如果您能够将消息推送到消费者端并看到它们,那么您的 Kafka 设置就完成了。

其他一些有用的命令

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

参考链接

  1. http://kafka.apache.org/documentation.html
  2. https://zookeeper.net.cn/doc/trunk/zookeeperStarted.html

结论

我确信,这篇文章对于初学者和中级程序员在 Windows 服务器或台式机上启动 Kafka 服务器会有所帮助。

您友好的

Gopal Tiwari

© . All rights reserved.