Windows下Kafka启动与创建主题(队列)操作指南

1. 环境准备

在开始操作之前,请确保您的Windows系统已满足以下条件:

  1. 安装Java:Kafka运行需要Java环境。请确保已安装JDK 8或更高版本。

    • 打开命令提示符(CMD)或PowerShell,输入 java -version 验证。
    • 如果未安装,请前往Oracle官网OpenJDK官网下载并安装。
  2. 下载Kafka

    • 访问 Apache Kafka官网下载页
    • 下载一个二进制包(例如:kafka_2.13-3.6.1.tgz)。建议选择带有“Scala 2.13”的稳定版本。
    • 将下载的压缩包解压到本地目录,例如 D:\kafka_2.13-3.6.1。此路径即为你的 KAFKA_HOME

2. 启动Kafka服务

Kafka的运行依赖于ZooKeeper(用于管理集群元数据)。从Kafka 2.8.0版本开始,可以使用内置的KRaft模式而不需要单独的ZooKeeper。本教程以需要ZooKeeper的传统方式进行说明(适用于大多数版本)。

2.1 启动ZooKeeper服务

  1. 打开命令提示符(CMD)或PowerShell,进入你的Kafka解压目录。

    cd D:\kafka_2.13-3.6.1
    
  2. 启动ZooKeeper服务。Kafka包中自带了一个用于开发测试的单节点ZooKeeper配置。

    .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
    
    • 保持此窗口打开,不要关闭。ZooKeeper默认会在 localhost:2181 端口运行。

2.2 启动Kafka Broker服务

  1. 打开另一个新的命令提示符(CMD)或PowerShell窗口,同样进入Kafka目录。
  2. 启动Kafka服务。
    .\bin\windows\kafka-server-start.bat .\config\server.properties
    
    • 同样保持此窗口打开。Kafka Broker默认会在 localhost:9092 端口运行。
    • 看到日志输出包含 “started (kafka.server.KafkaServer)” 即表示启动成功。

至此,一个单节点的Kafka服务已成功启动。

3. 创建主题(Topic - 即“队列”)

在Kafka中,消息被分类存储在不同的“主题”(Topic)中,你可以将其理解为一个逻辑上的“队列”或“频道”。

3.1 使用命令行创建主题

在Kafka服务运行的情况下,打开第三个命令提示符窗口,进入Kafka目录。

使用以下命令创建一个名为 test-topic 的主题:

.\bin\windows\kafka-topics.bat --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

参数解释:

  • --create: 表示创建操作。
  • --topic test-topic: 指定要创建的主题名称。
  • --bootstrap-server localhost:9092: 指定连接的Kafka服务器地址。
  • --partitions 1: 设置主题的分区数为1。分区是Kafka实现高吞吐和并行处理的基础。
  • --replication-factor 1: 设置副本因子为1(因为是单机环境,没有其他Broker可供复制)。

执行成功后,你会看到输出: Created topic test-topic.

3.2 验证主题创建成功

使用以下命令列出当前Kafka中的所有主题,以确认 test-topic 已存在:

.\bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092

输出应包含 test-topic

你还可以查看该主题的详细信息:

.\bin\windows\kafka-topics.bat --describe --topic test-topic --bootstrap-server localhost:9092

4. 基础测试:生产与消费消息

让我们快速测试一下刚创建的主题是否能正常工作。

4.1 启动一个控制台生产者

打开新窗口,运行以下命令启动一个生产者,并向 test-topic 发送消息:

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

运行后,光标会等待输入。输入几条消息,每行一条,按回车发送。例如:

Hello Kafka!
This is a test message.

4.2 启动一个控制台消费者

再打开一个新窗口,运行以下命令启动一个消费者,从 test-topic 的开始位置读取消息:

.\bin\windows\kafka-console-consumer.bat --topic test-topic --from-beginning --bootstrap-server localhost:9092

你会立刻看到之前在生产者窗口发送的消息被打印出来。此后,在生产者窗口输入的任何新消息,也会实时显示在消费者窗口。

5. 停止服务

完成操作后,请按以下顺序停止服务(避免数据损坏):

  1. 生产者消费者窗口按 Ctrl+C 停止。
  2. Kafka Broker窗口按 Ctrl+C 停止。
  3. 最后在ZooKeeper窗口按 Ctrl+C 停止。

6. 常见问题与注意事项

  • 端口占用:如果启动失败,请检查 2181 (ZooKeeper) 和 9092 (Kafka) 端口是否被其他程序占用。
  • 数据存储:Kafka的数据默认存储在 KAFKA_HOME\data 目录下。server.properties 中的 log.dirs 配置项可以修改此路径。
  • Windows路径:配置文件中如有路径,请使用正斜杠 / 或双反斜杠 \\
  • 生产环境:本文档仅适用于Windows本地开发测试。生产环境请部署在Linux服务器,并配置多节点集群、安全认证和监控。

现在,你已经在Windows上成功启动了Kafka,并创建了你的第一个主题(队列)。接下来可以开始探索Kafka的更多高级特性,如多分区、消费者组、流处理等。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值