Kafka 是一个由 LinkedIn 开发的分布式消息系统,它于2011年年初开源,现在由著名的 Apache 基金会维护与开发。 Kafka 使用 Scala 实现,被用作 LinkedIn 的活动流和运营数据处理的管道,现在也被诸多互联网企业广泛地用作数据流管道和消息系统, Kafka 是基于消息发布﹣订阅模式实现的消息系统。
官网下载链接:https://kafka.apache.org/downloads我下载的是Scala 2.12 - kafka_2.12-3.1.0.tgz
kafka只需要解压下载的压缩包就行了,我这里解压的路径是D:\kafka_2.12-3.1.0,kafka的运行需要依赖zookeeper,有关zookeeper的Windows安装请看这里,当前版本已经内置了zookeeper,所以不需要再安装zookeeper。
想要启动kafka需要修改kafka配置文件和zookeeper配置文件,配置文件都在跟目录下面的config文件夹下。
kafka 服务端配置在server.properties中。kafka配置需要修改两处配置文件:listeners 和 log.dirs
listeners=PLAINTEXT://localhost:9092
log.dirs:日志文件修改为自定义的日志目录,我的是
log.dirs=D:/kafka_2.12-3.1.0/logs
zookeeper配置文件为zookeeper.properties,只需修改一处,dataDir:zookeeper存储数据的路径修改自定义的目录,要用反斜杠/
dataDir=D:/kafka_2.12-3.1.0/data
接下来进入测试阶段:进入kafka安装根目录下,地址栏输入cmd,然后回车,通过命令行启动之后都不要关闭窗口。
先启动zookeeper,启动命令如下:
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
在这里插入图片描述再在地址栏输入cmd
.\bin\windows\kafka-server-start.bat .\config\server.properties
如果启动kafka失败,并出现以下异常,删除logs文件夹下的meta.properties文件即可。
The Cluster ID xxxx doesn’t match stored clusterId Some(finN2zUTRWaXMomXCknRew) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong.
创建一个名为test的topic命令如下:
.\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:2181 --replication-factor 1 --partitions 1 --topic test
启动之后,kafka-topics处于等待创建topic状态,一段时间内如果不createTopic,kafka-topics将自动断开
命令如下:
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
启动生产者之后就可以发送消息了
命令如下:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test
启动消费者之后生产者发送的消息,消费者端就能收到了。
在生产端发送消息,可以看到消费端就收到了
至此,消息队列kafka就安装完毕了。
能力一般,水平有限,如有错误,请多指出。如果对你有用点个关注给个赞呗
更多文章可以关注一下我的微信公众号suncodernote