一、引言
Apache Kafka 是一个分布式流处理平台,被广泛应用于大数据处理、实时数据分析、日志收集等场景。本文将详细介绍在本地 Windows 环境下部署 Kafka 的步骤,并演示如何进行消息的推送和接收。通过本文的学习,你将能够快速搭建起一个本地的 Kafka 环境,为你的开发和测试工作提供便利。
二、Kafka 基本原理
1. 架构概述
Kafka 的架构主要由生产者(Producer)、消费者(Consumer)、主题(Topic)、分区(Partition)、副本(Replica)和代理(Broker)组成。
- 生产者:负责向 Kafka 主题发送消息。
- 消费者:从 Kafka 主题读取消息并进行处理。
- 主题:消息的逻辑分类,生产者将消息发送到特定的主题,消费者从特定的主题读取消息。
- 分区:为了实现可扩展性和高吞吐量,每个主题可以分为多个分区。分区是一个有序的、不可变的消息序列。
- 副本:为了提高数据的可靠性,每个分区可以有多个副本。副本分为领导者副本和追随者副本,领导者副本负责处理读写请求,追随者副本从领导者副本同步数据。
- 代理:Kafka 服务器,负责存储和管理消息。
2. 工作流程
Kafka 的工作流程如下:
- 生产者将消息发送到 Kafka 代理,代理将消息存储在特定主题的分区中。
- 消费者从 Kafka 代理订阅特定的主题,并从分区中读取消息。
- Kafka 代理通过领导者副本和追随者副本的机制保证数据的可靠性。
二、安装ZooKeeper
zkkleeper下载地址: http://zookeeper.apache.org/releases.html#download
进入官网并下载压缩,这里我选用3.8.4
2、 解压并进入ZooKeeper目录,我的目录是:D:\kafka\zookeeper\apache-zookeeper-3.8.4-bin\conf
3、 将"zoo_sample.cfg"重命名为"zoo.cfg"
4、 打开"zoo.cfg"找到并编辑dataDir=D:/kafka/zookeeper/apache-zookeeper-3.8.4-bin/data
5、 添加系统变量:ZOOKEEPER_HOME , D:\Kafka\zookeeper-3.4.9
6、 编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin
7、 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181),可以不修改
8、 打开新的cmd,输入"zkServer",运行Zookeeper,出现以下的界面就代表本地Zookeeper启动成功
请注意不要关闭这个窗口!
三、安装Kafka
下载地址:http://kafka.apache.org/downloads
注意要下载二进制版本
2、 解压并进入Kafka目录
3、 进入config目录找到文件server.properties并打开
4、 找到并编辑log.dirs=D:\kafka\kafka\kafka_2.13-3.9.0\kafka-logs
5、 找到并编辑zookeeper.connect=localhost:2181(如果zookeeper使用默认端口可以跳过这步)
6、 Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181
7、 进入安装目录D:\kafka\kafka\kafka_2.13-3.9.0,右键打开命令行,输入下面命令
.\bin\windows\kafka-server-start.bat .\config\server.properties
注意:如果在这里遇到:输入行太长命令语法不正确的错误,建议大家改一下名字,改成kafka就可以解决了,下面是我改过后的路径:
启动成功如图,注意:不要关了这个窗口,并且留意自己的zookeeper是否运行
四、测试
创建主题,进入Kafka安装目录D:\kafka\kafka\kafka,进入命令行输入
.\bin\windows\kafka-topics.bat --create --topic bckz_demo --bootstrap-server localhost:9092
创建生产者
输入下面命令,创建生产者
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic topic_test001
然后我们打开一个新的窗口界面,创建消费者
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic topic_test001 --from-beginning
到这里,kafka和zookeeper就全部安装启动成功啦