Windows下安装使用Kafka(使用Kafka内置的ZooKeeper)
Kafka2.8版本才开始自带了Zookeeper,所以注意下版本
kafka官网:https://kafka.apache.org
kafka配置快速入门:https://kafka.apache.org/quickstart
kafka下载页面:https://kafka.apache.org/downloads
下载完成后解压到当前目录
修改config下的zookeeper.properties
# dataDir是zookeeper持久化数据存放的目录
dataDir=D:/DevApplication/Kafka/zookeeper/data
# zookeeper日志文件
dataLogDir=D:/DevApplication/Kafka/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
# 用于限制单个 IP 地址与 ZooKeeper 服务器之间的最大连接数。在 ZooKeeper 集群中,每个客户端到服务端都需要建立一个连接。
# 如果允许过多的连接,则会引起 ZooKeeper 服务器的负载过高,从而影响集群的稳定性和可靠性。
# 因此,通过设置 maxClientCnxns 参数可以有效地控制单个 IP 地址对 ZooKeeper 服务器的连接数量,以保证集群的可靠性和稳定性。
# 默认情况下,maxClientCnxns 的值为 60,这意味着单个 IP 地址最多只能与 ZooKeeper 服务器建立 60 个连接。
# 你可以根据实际需要适当调整这个值,以便更好地满足应用程序的需求。
maxClientCnxns=60
修改config下的server.properties
# 指定Kafka日志和数据保存的地址
log.dirs=D:/DevApplication/Kafka/kafka-logs
进入 /bin/windows 下
使用 cmd 执行 zookeeper-server-start.bat . ./. ./config/zookeeper.properties 启动Zookeeper
启动失败,命令过长,语法不正确
这是因为目录层级太深或者是目录名字太长导致的
将Kafka移到D盘根目录下
1.打开 cmd 执行 zookeeper-server-start.bat . ./. ./config/zookeeper.properties 启动Zookeeper
2.打开 cmd 执行 kafka-server-start.bat . ./. ./config/server.properties 启动Kafka
3.打开 cmd 执行 kafka-topics.bat --create --topic handsome --bootstrap-server localhost:9092 创建 handsome 主题
4.执行 kafka-topics.bat --describe --topic handsome --bootstrap-server localhost:9092 查看 handsome 主题详细信息
5.执行 kafka-console-consumer.bat --topic handsome --from-beginning --bootstrap-server localhost:9092 订阅 handsome 主题
6.执行 kafka-console-producer.bat --topic handsome --bootstrap-server localhost:9092 向 handsome 主题发送消息
7.成功生产并消费消息,成功在Windows下安装使用Kafka(使用Kafka内置的ZooKeeper)
8.创建 startKafka.bat 脚本,双击 startKafka.bat 一键启动Kafka
@echo off
set KAFKA_HOME=D:\DevApplication\Kafka\bin\windows
cd %KAFKA_HOME%
start cmd /k "zookeeper-server-start.bat ../../config/zookeeper.properties"
ping -n 4 127.0.0.1 > nul
start cmd /k "kafka-server-start.bat ../../config/server.properties"