项目路径:https://github.com/zhaopeng01/springboot-study/tree/master/study_14

序言

Kafka 是一种高吞吐的分布式发布订阅消息系统,能够替代传统的消息队列用于解耦合数据处理,缓存未处理消息等,同时具有更高的吞吐率,支持分区、多副本、冗余,因此被广泛用于大规模消息数据处理应用

在整合过程中注意SpringBoot版本是否与kafka版本兼容

安装kafka

在这里介绍的是mac安装,win兄弟们可以在下面地址下载

下载地址: http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz

安装



brew install kafka


  

安装会依赖zookeeper。

注意:安装目录:/usr/local/Cellar/kafka/0.10.2.0

安装的配置文件位置



/usr/local/etc/kafka/server.properties
/usr/local/etc/kafka/zookeeper.properties


  

启动zookeeper



zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties


  

启动kafka



kafka-server-start /usr/local/etc/kafka/server.properties


  

创建topic

让我们使用单个分区和只有一个副本创建一个名为“test”的主题



kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test


  注意:docker下面命令后面加上.sh,如kafka-topics.sh ;另外localhost用宿主机的ip地址

查看创建的topic

我们现在可以看到该主题,如果我们运行list topic命令:



kafka-topics --list --zookeeper localhost:2181


  

发送一些消息

Kafka提供了一个命令行客户端,它将从文件或标准输入接收输入,并将其作为消息发送到Kafka集群。默认情况下,每行都将作为单独的消息发送。

运行生产者,然后在控制台中键入一些消息发送到服务器。



kafka-console-producer --broker-list localhost:9092 --topic test


  

消费消息

Kafka还有一个命令行消费者,将消息转储到标准输出。



kafka-console-consumer --bootstrap-server localhost:9092 --topic test --from-beginning


  

然后也可以根据自己的业务逻辑需求去自定义一些其他的异常类,或者结合自己的逻辑去改造一些

删除topic

这里还是删除上面的test

删除kafka相关的数据目录

数据目录查看kafka配置:



server.properties -> log.dirs=/var/kafka/log/tmp
su rm -r /var/kafka/log/tmp/test*


  

删除kafka topic



/home/kafka/bin/kafka-topics.sh --delete --zookeeper HadoopMaster:2181/kafka --topic test


  

删除zookeeper相关的路径

打开zookeeper client



/home/ZooKeeper/bin/zkCli.sh


  

执行下面的命令

把test替换成你要删除的topic

#删除topic test的consumer group,如果有消费记录的话



rmr /kafka/consumers/test-group
rmr /kafka/config/topics/test
rmr /kafka/brokers/topics/test
rmr /kafka/admin/delete_topics/test


  

重启zookeeper和kafka可以用下面命令查看相关的topic还在不在:



/home/kafka/bin/kafka-topics.sh --list --zookeeper HadoopMaster:2181/kafka


  

好的到这里本篇文章就先到此了,如果那里有不合适的地方还请大家多多指教,写这篇博的目的主要就是为了方便自己以后的一个回忆和朋友学习时的一个参考,希望为大家可以带来帮助 ~ ~&

虚心的去学习,自信的去工作~

---------------------

作者:Strugglein

版权声明:本文为博主原创文章,转载请附上博文链接!