zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

在Windows安装运行Kafka

2023-04-18 16:19:28 时间

在Windows安装运行Kafka

一、安装JAVA JDK

1、下载安装包

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

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

2、添加系统变量:JAVA_HOME=C:Program Files (x86)Javajdk1.8.0_14


二、安装ZooKeeper

1、下载安装包Apache ZooKeeper

2、 解压并进入ZooKeeper目录,如:D:[Kafka](https://so.csdn.net/so/search?q=Kafka&spm=1001.2101.3001.7020)zookeeper-3.4.9conf, 将“zoo_sample.cfg”重命名为“zoo.cfg”,

3、打开“zoo.cfg”找到并编辑数据存放位置 dataDir=F:HCapache-zookeeper-3.7.0data(必须以分割)

4、在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)

5、添加系统变量:ZOOKEEPER_HOME=D:Kafkazookeeper-3.4.9

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

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

命令行提示如下:说明本地Zookeeper启动成功

img

注意:不要关了这个服务窗口


三、安装Kafka

1、 下载安装包

Apache Kafka

注意要下载二进制版本

img

2、 解压并进入Kafka目录,笔者:D:Kafkakafka_2.12-0.11.0.0

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

4、 找到并编辑日志保存的位置 log.dirs=F:HCkafka_2.13-2.8.1kafka-logs

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

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

7、 进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

.inwindowskafka-server-start.bat .configserver.properties



或binkafka-server-start.sh configserver.properties

img

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


四、测试

(linux直接在bin目录下.sh,windows需要进入binwinndows下的.bat)

1、 创建主题

进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

.inwindowskafka-topics.bat 
--create 
--zookeeper localhost:2181 
--replication-factor 1 
--partitions 1 
--topic test

2、查看主题输入:

.inwindowskafka-topics.bat 
--list 
--zookeeper localhost:2181

3、 创建生产者

进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

.inwindowskafka-console-producer.bat 



--broker-list localhost:9092 



--topic test

img

4、 创建消费者

进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

.inwindowskafka-console-consumer.bat 



--bootstrap-server localhost:9092 



--topic test 



--from-beginning

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

img

5、查看topic,进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

 .inwindowskafka-topics.bat --describe --zookeeper localhost:2181 --topic



test

6、彻底删除Kafka中的topic

1、删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录

2、Kafka 删除topic的命令是:

  .inwindowskafka-topics.bat  --delete --zookeeper 【zookeeper server】  --topic 【topic name】

如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此时的删除并不是真正的删除,而是把topic标记为:marked for deletion

你可以通过命令,来查看所有topic

./bin/kafka-topics --zookeeper 【zookeeper server】 --list

此时你若想真正删除它,可以如下操作:

  1. 登录zookeeper客户端:命令:./bin/zookeeper-client
  2. 找到topic所在的目录:ls /brokers/topics 找到要删除的topic,
  3. 执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。

在较新版本(2.2 及更高版本)的 Kafka 不再需要 ZooKeeper 连接字符串,即- -zookeeper localhost:2181。
使用 Kafka Broker的 --bootstrap-server localhost:9092来替代- -zookeeper localhost:2181。

搭建 Zookeeper 3.6.3 集群时出现的错误
端口号冲突,添加配置更改端口号即可
admin.serverPort=8888

.binwindowskafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test # 测试
.binwindowskafka-topics.bat --list --bootstrap-server localhost:9092 # 查看列表

启动:

zkServer
.inwindowskafka-server-start.bat .configserver.properties