Windows 系统上安装 Kafka

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

前置条件

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

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

    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 服务,一劳永逸。

相关推荐
图乐aj2 小时前
kafka 运维基础知识
运维·kafka
yumgpkpm3 小时前
CMP(类Cloudera CDP 7.3 404版华为Kunpeng)与其他大数据平台对比
大数据·hive·hadoop·elasticsearch·kafka·hbase·cloudera
艾斯比的日常4 小时前
Kafka Partition 深度解析:原理、策略与实战优化
分布式·kafka
启明真纳4 小时前
Logstash 从 MySQL 同步数据到 Kafka
mysql·kafka·linq
yumgpkpm8 小时前
Hadoop在AI时代如何实现生态协同? CMP 7.13(或类 Cloudera CDP7.3 的 CMP 7.13 平台,如华为鲲鹏 ARM 版)
大数据·hadoop·elasticsearch·zookeeper·kafka·hbase·cloudera
梦里不知身是客1115 小时前
kafka独立消费者案例(订阅主题)
分布式·kafka·linq
陈果然DeepVersion1 天前
Java大厂面试真题:从Spring Boot到AI微服务的三轮技术拷问(一)
java·spring boot·redis·微服务·kafka·面试题·oauth2
一瓢一瓢的饮 alanchan1 天前
Flink原理与实战(java版)#第1章 Flink快速入门(第一节IDE词频统计)
java·大数据·flink·kafka·实时计算·离线计算·流批一体化计算
冰芒芒1 天前
Kafka-1 基本概念
分布式·kafka