Windows下安装运行Zookeeper、Kafka

一、安装JAVA JDK

1、下载安装包(下载地址

注意:根据32/64位操作系统下载对应的安装包

2、添加系统变量:JAVA_HOME=C:\Program Files\Java\jre1.8.0_261

二、安装ZooKeeper

1、 下载安装包(下载地址冯奎博客

2、 解压并进入ZooKeeper目录,如:C:\kafka\zookeeper-3.7.0\conf,新建tmp文件夹

3、 将zoo_sample.cfg重命名为zoo.cfg

4、 打开zoo.cfg找到并编辑dataDir=C:\\kafka\\zookeeper-3.7.0\\tmp(必须以\分割)

5、 添加系统变量:ZOOKEEPER_HOME=C:\kafka\zookeeper-3.7.0

6、 编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin

7、 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181,可不修改)

8、 打开新的cmd,输入zkServer,运行Zookeeper

9、 命令行提示如下:说明本地Zookeeper启动成功 冯奎博客

注意:不要关了这个窗口

三、安装Kafka

1、 下载安装包(下载地址冯奎博客 注意要下载二进制版本

2、 解压并进入Kafka目录,笔者:C:\kafka\kafka_2.13-2.8.0,新建kafka-logs文件夹

3、 进入config目录找到配置文件server.properties并打开

4、 找到并编辑log.dirs=C:\\kafka\\kafka_2.13-2.8.0\\kafka-logs

5、 找到并编辑zookeeper.connect=localhost:2181

6、 Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181

7、 进入Kafka安装目录C:\kafka\kafka_2.13-2.8.0,按下Shift+右键,选择在此处打开 Poweshell 窗口选项,或CMD打开命令行,输入:

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

冯奎博客 注意:不要关了这个窗口,启用Kafka前请确保ZooKeeper实例已经准备好并开始运行

说明:当Kafka启动报如下错误时

ERROR Shutdown broker because all log dirs in ***

去报错提示的目录下删除log里topic日志,重启kafka还是报错。原来删除kafka的log目录还不能解决此问题,还得删除zookeeper里zoo.cfg里配置的dataDir目录文件。

四、测试

(linux直接在bin目录下.sh,windows需要进入bin\winndows下的.bat)
以下操作,进入Kafka安装目录C:\kafka\kafka_2.13-2.8.0, 按下Shift+右键,选择在此处打开 Poweshell 窗口选项,或CMD打开命令行,输入:

1、 创建主题与查看主题

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

2、 创建生产者

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

冯奎博客 注意:不要关了这个窗口

3、 创建消费者

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

冯奎博客 此时,往生产者窗口写入消息,消费者窗口也能同步的接收到消息

五、主题相关操作

1、查看topic

.\bin\windows\kafka-topics.bat --describe --zookeeper localhost:2181 --topic test

冯奎博客

2、删除主题 在server.properties中增加设置,默认未开启

delete.topic.enable=true

删除主题命令

.\bin\windows\kafka-topics.bat --delete --topic test --zookeeper localhost:2181

3、删除主题数据
如果想保留主题,只删除主题现有数据(log)。可以通过修改数据保留时间实现

.\bin\windows\kafka-configs.bat --zookeeper localhost:2181 --entity-type topics --entity-name test --alter --add-config retention.ms=3000
//修改保留时间为三秒,但不是修改后三秒就马上删掉,kafka是采用轮训的方式,轮训到这个主题发现三秒前的数据都是删掉。时间由自己在server.properties里面设置,设置见下面。

数据删除后,继续使用主题,那主题数据的保留时间就不可能为三秒,所以把上面修改的配置删掉,采用server.properties里面统一的配置。

.\bin\windows\kafka-configs.bat --zookeeper localhost:2181 --entity-type topics --entity-name test --alter --delete-config retention.ms

server.properties里面数据保留时间的配置

log.retention.hours=168  //保留时间,单位小时
log.retention.check.interval.ms=300000 //保留时间检查间隔,单位毫秒

参考网址:
1、在Windows安装运行Kafka
2、kafka在windows上的安装、运行
3、zookeeper-3.5.5安装报错:找不到或无法加载主类**
4、Kafka报错ERROR Shutdown broker because all log dirs in ... have failed
5、kafka删除主题数据和删除主题

冯奎博客
请先登录后发表评论
  • latest comments
  • 总共0条评论