Windows 系统上安装 Kafka

Windows 系统上安装 Kafka 。以下是详细的步骤指南。

前置条件

    1. Java 环境 :Kafka 需要 Java 8 或更高版本。这是必须的。
    • • 打开命令提示符(CMD)或 PowerShell,输入 java -version进行检查。

    • • 如果未安装,请前往 Oracle Java或 OpenJDK官网下载并安装。

    1. 下载 Kafka :访问 Apache Kafka 官网下载页面。
    • • 下载二进制版本,例如:kafka_2.13-3.6.1.tgz。注意,这是 .tgz压缩包。

    • • 重要提示 :由于 Windows 不原生支持 .tgz格式,你还需要一个解压工具,如 7-Zip或 PeaZip。


安装步骤(使用 ZooKeeper 的经典方式)

这是最常用和稳定的方式。

步骤 1:下载并解压 Kafka
    1. 将下载好的 kafka_2.13-3.6.1.tgz文件移动到你想安装的目录,例如 C:\` 根目录或C:\Tools`。
    1. 右键单击该文件,使用 7-Zip 等工具将其解压。通常需要解压两次:
    • • 第一次解压得到 .tar文件。

    • • 第二次解压 .tar文件得到最终的文件夹 kafka_2.13-3.6.1。

    1. 为了便于管理,可以将文件夹重命名为 kafka。最终路径可能像 C:\kafka。
步骤 2:配置 Kafka(可选,但常需修改)

用记事本或任何文本编辑器打开 C:\kafka\config\server.properties文件。

找到并修改以下行,以解决在 Windows 上可能出现的地址绑定错误:

复制代码
# 将
# listeners=PLAINTEXT://:9092
# 修改为(注意是 0.0.0.0 而不是 localhost)
listeners=PLAINTEXT://0.0.0.0:9092

# 同样,将 advertised.listeners 也修改为你的主机名或IP(如果是本地学习,用 localhost 即可)
advertised.listeners=PLAINTEXT://localhost:9092

保存并关闭文件。

步骤 3:启动服务

Kafka 的运行依赖于 ZooKeeper。我们需要先启动 ZooKeeper,再启动 Kafka。

重要: ​ 你需要打开两个 独立的命令提示符(CMD)或 PowerShell 窗口 ,并且都以管理员身份运行(避免可能出现的权限问题)。两个窗口都需要先进入 Kafka 的安装目录。

复制代码
# 切换到 Kafka 目录(请根据你的实际路径修改)
cd C:\kafka

窗口 1:启动 ZooKeeper

在第一个窗口中,执行以下命令来启动 ZooKeeper 服务:

复制代码
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

这个窗口会开始打印日志,ZooKeeper 将在默认端口 2181上启动。让这个窗口保持打开状态。

窗口 2:启动 Kafka Broker

在第二个窗口中,执行以下命令来启动 Kafka 服务:

复制代码
.\bin\windows\kafka-server-start.bat .\config\server.properties

这个窗口也会开始打印日志,Kafka 将在默认端口 9092上启动。同样,让这个窗口保持打开状态。

现在,ZooKeeper 和 Kafka 都已经在你的本地机器上运行起来了。


步骤 4:测试安装(创建主题、发送和接收消息)

现在我们需要打开第三个命令提示符或 PowerShell 窗口(同样建议管理员身份)来测试 Kafka 是否正常工作。

    1. 创建一个测试主题(Topic)

    在第三个窗口中,进入 Kafka 目录后,运行以下命令创建一个名为 test-topic的主题:

    复制代码
    cd C:\kafka
    .\bin\windows\kafka-topics.bat --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

    如果成功,你会看到提示 Created topic test-topic。

    1. 启动一个生产者(Producer)来发送消息

    继续在第三个窗口中,运行以下命令启动控制台生产者:

    复制代码
    .\bin\windows\kafka-console-producer.bat --topic test-topic --bootstrap-server localhost:9092

    命令执行后,光标会等待你输入。键入几条消息,每输完一条按回车,例如:

    复制代码
    > Hello, Kafka!
    > This is a test message.
    1. 启动一个消费者(Consumer)来接收消息

    现在,打开第四个命令窗口,进入 Kafka 目录,运行以下命令启动控制台消费者:

    复制代码
    cd C:\kafka
    .\bin\windows\kafka-console-consumer.bat --topic test-topic --from-beginning --bootstrap-server localhost:9092

    启动后,你应该能立刻看到之前在生产者窗口输入的所有消息显示在这个消费者窗口中。

恭喜!你的 Windows Kafka 安装已经成功并可以正常工作了!


作为 Windows 服务安装(推荐用于长期使用)

手动打开多个窗口非常麻烦。我们可以使用第三方工具(如 NSSM)将 ZooKeeper 和 Kafka 安装为 Windows 服务,从而实现开机自启和后台运行。

    1. 下载 NSSM :访问 NSSM 官网下载最新版本,解压后根据你的系统(32/64位)将 nssm.exe文件复制到 C:\kafka\bin\windows目录下,或者任何在系统 PATH 环境变量中的目录。
    1. 安装 ZooKeeper 服务

    以管理员身份打开命令提示符:

    复制代码
    nssm install zookeeper
    • • 在弹出窗口的 "Path" 栏,点击 "Browse",找到 C:\kafka\bin\windows\zookeeper-server-start.bat。

    • • 在 "Arguments" 栏,输入 C:\kafka\config\zookeeper.properties。

    • • 在 "Service name" 栏,确保是 zookeeper。

    • • 点击 "Install service"。

    1. 安装 Kafka 服务

    同样在管理员命令提示符下:

    复制代码
    nssm install kafka
    • • "Path" 栏,浏览选择 C:\kafka\bin\windows\kafka-server-start.bat。

    • • "Arguments" 栏,输入 C:\kafka\config\server.properties。

    • • "Service name" 栏,确保是 kafka。

    • • 点击 "Install service"。

    1. 启动服务

    打开"服务"应用程序(按 Win + R,输入 services.msc),找到 "zookeeper" 和 "kafka" 服务,右键单击并选择"启动"。你也可以通过命令行启动:

    复制代码
    net start zookeeper
    net start kafka

现在,ZooKeeper 和 Kafka 就会在后台作为服务运行,无需再手动打开命令窗口。

总结

  • • 简单测试:按照步骤 1-4 手动启动两个窗口即可。

  • • 长期开发/学习 :强烈推荐使用 NSSM 将其安装为 Windows 服务,一劳永逸。

相关推荐
今年下半年2 天前
记录一次IBMS物联网项目的架构设计及技术栈应用
物联网·websocket·网络协议·tcp/ip·微服务·udp·kafka
Nano叶落8 天前
Kafka 消费积压排查入门:Docker 搭环境亲手制造一次 ‘消息堵死‘,10 分钟看懂 Lag
kafka
吉甫作诵9 天前
Kafka 集群安装与运维实战:消费组排查、Offset 重置与副本重分配
大数据·运维·分布式·kafka·消息队列
imDwAaY9 天前
消息队列四大核心问题:顺序性、幂等性、可靠性与一致性
学习·kafka·rabbitmq
wno7049 天前
Spring Boot整合Kafka
spring boot·kafka
音符犹如代码10 天前
Kafka 接入 AI 的三条路线:MCP 提案、会话记忆与实时上下文
java·大数据·ai·kafka
happy_king_zi10 天前
kafka两种部署模式的区别
kafka·消息队列·sre
happy_king_zi10 天前
Kafka 3.9.2 KRaft 模式三节点集群完整部署指南
kafka·消息队列
明快de玄米6110 天前
Kafka 可靠消息投递:核心机制总结
kafka
明快de玄米6110 天前
Kafka:基于 Outbox 的可靠消息投递完整方案
kafka