文章更新时间:2020/06/07
一、安装JDK
过程就不过多介绍了...
二、安装Zookeeper
安装过程可以参考此处~
三、安装并配置kafka
- Kafka下载地址 http://kafka.apache.org/downloads
- 解压文件(我的目录是E:\zhanghaoBF\kafka\kafka_2.11-2.3.0 【PS:这里不要在Program Files等文件名之间有空格的目录下,不然一会执行会不识别路径】)
- 打开目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0\config下server.properties文件,把log.dirs修改为【log.dirs=D:\kafka_2.12-0.11.0.0\kafka-logs】,把listeners的配置放开
一些主要的配置信息如下:
#1、broker实例id 这个是kafka集群区分每个节点的唯一标志符
broker.id=0 #2、监听的端口号
listeners=PLAINTEXT://:9092 #3、消息的存放路径
log.dirs=E:\zhanghaoBF\【完成】SpringBoot整合kafka\kafka_2.11-2.3.0\zhanghaoBFkafkakafka_2.11-2.3.0kafka-logs #4、kafka消息的保留时间,默认为7天即168小时【单位为:小时】
log.retention.hours=168 #5、log文件存放着msg,这里设置的是log文件的最大大小,默认最大为1个G【单位为:byte】
log.segment.bytes=1073741824 #6、kafka链接的zk地址
zookeeper.connect=localhost:2181 #7、kafka链接的超时时间
zookeeper.connection.timeout.ms=6000 #8、默认的分区数量
num.partitions=1
四、启动并测试kafka【以windows操作示例】
启动ZK
启动kafka
进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,执行以下命令,启动kafka通讯的服务器broker
.\bin\windows\kafka-server-start.bat .\config\server.properties
创建topic
进入kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建kafka的消息topics【topic名为testDemo】
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testDemo
replication-factor:表示在不同的broker中保存几份副本。设置为1表示该topic除了当前leader主机外,在其他brocker上还有1个副本。
partitions:表示分区数。设置为1表示该topic(同一个brocker上)存在有多少个分区。PS:每个分区的数据是不重复的,用于提高吞吐量。
查看topic
./kafka-topics.bat --list --zookeeper localhost:2181 ##查看localhost:2181上存在的topic信息
启动生产者
进入目录kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建Producer
##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动生产者
title producer
kafka-console-producer.bat --broker-list localhost:9092 --topic testDemo
启动完成后可在窗口中输入消息内容:
启动消费者
进入目录kafka文件目录E:\zhanghaoBF\kafka\kafka_2.11-2.3.0,输入以下命令,创建consumer
##此命令为修改命令行窗口的名称,此命令可不执行,直接执行下面的命令去启动消费者
title consumer
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic testDemo --from-beginning
启动完成后可在窗口中输入消息内容:
PS:某些博文里会推荐使用
kafka-console-consumer.bat --zookeeper localhost:2181 --topic testDemo
这个命令来启动消费者,这里说明一下,低版本的kafka是用这个命令来启动消费者并进行消息消费的,由于本文使用的kafka版本较高,所以才用的上面那个命令行进行消费者启动,并消费信息。