Windows配置zookeeper和kafka

前言:在Windows 11下配置kafka,请确保已经配置好了jdk和zookeeper,本文使用的是jdk 11.0.11 + zookeeper 3.7.0,配置jdk的方法请参考其他资料,这里不再赘述

 

一、配置zookeeper

下载地址 https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz

解压zookeeper到D盘,转到conf文件夹下,把zoo_sample.cfg复制一份,改名为zoo.cfg,接着编辑该配置文件:

1 dataDir=D:\\tmp

2 新建ZOOKEEPER_HOME环境变量,内容为D:\devspace\mq\apache-zookeeper-3.7.0-bin,将%ZOOKEEPER_HOME%\bin追加到path环境变量

二、启动zookeeper

转到zookeeper所在的文件夹下

cd D:\devspace\mq\apache-zookeeper-3.7.0-bin

执行下面的命令,启动zookeeper

.\bin\zkServer.cmd

如果启动zookeeper遇到报错 java.io.IOException: ZooKeeperServer not running,最大的可能是zoo.cfg下的dataDir的路径格式配置错误,比如使用了错误的路径格式 D:/tmp ,正确的路径格式应该是 D:\\tmp

三、配置kafka

从kafka官网下载二进制格式的kafka,版本:3.1.0,下载地址 https://dlcdn.apache.org/kafka/3.1.0/kafka_2.13-3.1.0.tgz

把压缩包解压到D盘,需要注意的是:文件夹的路径不要太长,否则启动kafka时会遇到 输入行太长 命令语法不正确 的错误,解决办法很简单,就是把kafka文件夹的解压路径缩短

编辑config文件夹下的server.properties

1 log.dirs=D:\\devspace\\mq\\kafka_2.13-3.1.0\\kafka-logs

注意:上面的地址必须真实存在且正确无误,否则会遇到The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.的错误,导致启动kafka的时候shutdown

直接删除D:\devspace\mq\kafka_2.13-3.1.0\下的kafka-logs文件夹,虽然不会删除已经创建的topic,但是会清空topic里已经存在的消息,千万不要在生产环境下这么做,否则后果自负!

四、启动kafka

转到kafka所在的文件夹下

cd D:\devspace\mq\kafka_2.13-3.1.0

执行下面的命令,启动kafka

.\bin\windows\kafka-server-start.bat .\config\server.properties

如果启动kafka遇到报错 log4j:ERROR Could not read configuration file from URL,这是因为jdk的安装路径里包含了空格,解决方法是:重新安装并配置jdk,安装路径不要有空格

五、创建topic、producer、consumer

-- 创建topic,不要重复执行下面的命令,要创建的topic如果已经存在,zookeeper会报错 java.io.IOException: Unreasonable length = 308375649

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

 

--创建或进入producer命令行

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

 

--创建consumer,从开头消费

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

 

--从指定offset消费,--offset 需要 和 --partition 搭配使用,不能单独使用

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --partition 0 --offset 1

 

--查看topic列表

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

 

--查看某个topic的详情

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

 

--删除topic

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

 
 
 
 
posted @ 2022-03-04 13:17  jamstack  阅读(663)  评论(0编辑  收藏  举报