1. 环境准备
在开始操作之前,请确保您的Windows系统已满足以下条件:
-
安装Java:Kafka运行需要Java环境。请确保已安装JDK 8或更高版本。
-
下载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服务
-
打开命令提示符(CMD)或PowerShell,进入你的Kafka解压目录。
cd D:\kafka_2.13-3.6.1 -
启动ZooKeeper服务。Kafka包中自带了一个用于开发测试的单节点ZooKeeper配置。
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties- 保持此窗口打开,不要关闭。ZooKeeper默认会在
localhost:2181端口运行。
- 保持此窗口打开,不要关闭。ZooKeeper默认会在
2.2 启动Kafka Broker服务
- 打开另一个新的命令提示符(CMD)或PowerShell窗口,同样进入Kafka目录。
- 启动Kafka服务。
.\bin\windows\kafka-server-start.bat .\config\server.properties- 同样保持此窗口打开。Kafka Broker默认会在
localhost:9092端口运行。 - 看到日志输出包含
“started (kafka.server.KafkaServer)”即表示启动成功。
- 同样保持此窗口打开。Kafka Broker默认会在
至此,一个单节点的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. 停止服务
完成操作后,请按以下顺序停止服务(避免数据损坏):
- 在生产者和消费者窗口按
Ctrl+C停止。 - 在Kafka Broker窗口按
Ctrl+C停止。 - 最后在ZooKeeper窗口按
Ctrl+C停止。
6. 常见问题与注意事项
- 端口占用:如果启动失败,请检查
2181(ZooKeeper) 和9092(Kafka) 端口是否被其他程序占用。 - 数据存储:Kafka的数据默认存储在
KAFKA_HOME\data目录下。server.properties中的log.dirs配置项可以修改此路径。 - Windows路径:配置文件中如有路径,请使用正斜杠
/或双反斜杠\\。 - 生产环境:本文档仅适用于Windows本地开发测试。生产环境请部署在Linux服务器,并配置多节点集群、安全认证和监控。
现在,你已经在Windows上成功启动了Kafka,并创建了你的第一个主题(队列)。接下来可以开始探索Kafka的更多高级特性,如多分区、消费者组、流处理等。
操作指南&spm=1001.2101.3001.5002&articleId=163475661&d=1&t=3&u=623783a9355d42fd88ecd5eea3871d94)
1685

被折叠的 条评论
为什么被折叠?



