2018 Springboot整合kafka

kafka的介绍和搭建,参考:

https://blog.csdn.net/qq_42606051/article/details/81407309

还有这几篇:

  1. http://kafka.apache.org/quickstart

  2. https://docs.spring.io/spring-kafka/reference/htmlsingle/#kafka

  3. https://blog.csdn.net/tzs_1041218129/article/details/78988439

  4. https://www.cnblogs.com/dragkiss/p/5668019.html

总结:

a, zookeeper 和kafka安装 ,本人只研究了单机版。集群的话暂时没经历去整。

主要注意kafka安装的需要安装jdk ,jdk1.8以上,注意你虚拟机的centos的版本和位数,对于的Jdk版本有区别,注意这里有吭。

本人是直接使用centos 7.0版本+64位jdk安装。

b,kafka安装好后,主要注意配置文件config/server.properties 中配置的listeners=PLAINTEXT://10.127.96.151:9092

此处如果是localhost,那么注意etc/hosts文件有映射。

在命令行开启的时候注意producer和consumer的命令中的ip和你配置文件中的保持一至。

启动kafka命令:

 bin/kafka-server-start.sh config/server.properties &

创建topic:(在命令行进行消息发送和接受,必须现有topic,否则报错,可以通过list进行查询当前存在的topic ,topic不能重复)

bin/kafka-topics.sh --create --zookeeper 192.168.25.142:2181 --replication-factor 1 --partitions 1 --topic testttest

查询topic的list:

bin/kafka-topics.sh --list --zookeeper localhost:2181

生产者:

bin/kafka-console-producer.sh --broker-list 192.168.25.142:9092 --topic test
>this is na third message
>this is ma mefor message

注意:消息是在此处手动输入的。不要以为命令行打完就已经发了消息。 

消费者:

bin/kafka-console-consumer.sh --bootstrap-server 192.168.25.142:9092 --topic test --from-beginning

这是命令行的操作。

具体整合的可以看开头推荐的文章。

本人自己遇到的吭是:

Connection to node -1 could not be established. Broker may not be available. 

如果上面说的 listeners=PLAINTEXT://10.127.96.151:9092 这个配置文件的ip都写好了没问题的话,那么还一个问题是你的zookeeper是否也配置好了。具体的也是在server.properties中把zookeeper的ip配置好。那么kafka启动的时候会自动去注册到zookeeper。我的问题是出在这里。 

如果在命令行,生产消息和发送消息 都没问题了,那么在springboot整合中也不会有问题。 

细心的人发现kafka的config下也有个zookeeper.properties文件,按照官方文档的说法,当你没安装zookeeper的时候可以通过脚本启动一个zookeeper,但实际项目中,不建议这样做。

Kafka uses ZooKeeper so you need to first start a ZooKeeper server if you don't already have one. You can use the convenience script packaged with kafka to get a quick-and-dirty single-node ZooKeeper instance.

> bin/zookeeper-server-start.sh config/zookeeper.properties

[2013-04-22 15:01:37,495] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)

...

 

 

你可能感兴趣的:(springboot,e)