一、下载安装
访问Kafka:
https://kafka.apache.org/downloads
选择相应的版本
下载到本地后,将文件解压到 D:\kafka_2.11-2.4.0,该文件夹包括了所有相关的运行文件及配置文件,其子文件夹bin\windows 下放的是在Windows系统启动zookeeper和kafka的可执行文件,子文件夹config下放的是zookeeper和kafka的配置文件。
配置kafka logs位置
- 编辑文件Kafka配置文件, D:\kafka_2.13-2.8.0\config\server.properties
- 找到并编辑log.dirs=D:\kafka_2.13-2.8.0\kafka-logs, (自定义文件夹)
- 找到并编辑zookeeper.connect=localhost:2181。表示本地运行(默认的可以不改)
- Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181。
二、启动kafka服务
我们需要先后启动zookeeper和kafka服务。
它们都需要进入 D:\kafka_2.11-2.4.0 目录,然后再启动相应的命令。
cd D:\kafka_2.11-2.4.0
启动zookeeper服务,运行命令:
bin\windows\zookeeper-server-start.bat config\zookeeper.properties
启动kafka服务,运行命令:
bin\windows\kafka-server-start.bat config\server.properties
路径错误
执行启动命令后可能出现如下错误
Kafka Windows运行错误:找不到或无法加载主类 Files\kafka\kafka_2.12-2.0.0\libs\activation-1.1.1.ja r;C:\Program
不用尝试任何修改,原因(基本都是因为下载安装的目录路径造成的):
-
下载的是否是正确的kafka安装包,千万别下载成源码了
-
注意下载完之后,安装kafka的目录,是不是目录下存在空格了, 例如,我放在了 C:\Program Files ,这里面就存在了空格!所以会出错。
解决:检查完确认下载无误后,只需要把压缩包重新解压安装到没有空格的目录就行, 例如:C:\Kafka
三、创建Topic,显示数据
Kafka中创建一个Topic,名称为iris
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic iris
但是报错了
原因:kafka最新版本创建主题topic方式已经改变,如果仍然按照过去老一套的方式就会报上面的错误。
解决方案,按照最新的kafka创建主题topic方式创建:
bin\windows\kafka-topics.bat --create --topic Test_demo --bootstrap-server localhost:9092
kafka创建主题topic成功:
创建成功后,可以使用如下命令,显示所有Topic的列表:
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
这里依旧会报错,原因如上
按照最新的kafka 查询方式:
bin\windows\kafka-topics --list --bootstrap-server localhost:9092
删除名称为Test_demo的topic 命令如下
bin\windows\kafka-topics --create --bootstrap-server localhost:9092 --topic Test_demo
Windows环境下留意几个小细节
- 要进入Kafka 目录中bin\windows 文件夹下执行命令
- 留意自己Kafka端口
四、生产消息并消费
创建生产者
之前创建一个叫Test_demo的主题
kafka-console-producer.bat --broker-list localhost:9092 --topic Test_demo
创建消费者
新建cmd窗口
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic Test_demo --from-beginning
生产消息并消费
生产消息
消费消息
五、其他命令
- 列出主题:kafka-topics.bat –list –zookeeper localhost:2181
- 描述主题:kafka-topics.bat –describe –zookeeper localhost:2181 –topic [Topic Name]