赞
踩
kafka是一个优秀的消息队列框架,现在基于linux安装写个文档记录下。
提示:以下是本篇文章正文内容,下面案例可供参考
1.下载linux 安装包。
https://kafka.apache.org/downloads
注意下载二进制包,如果不是下载二进制包,就要自己编译了,这里不需要这么麻烦,就直接下载了。官网推荐下载2.13版本,就下载这个版本就行了。
2. 注意这个版本已经内嵌了zookeeper了,不需要再去安装zookeeper了。
3. 安装了jdk1.8以及以上版本,并且配置了环境变量这里就不展开了,各位自己找文档配。
tar -xzf kafka_2.13-3.2.0.tgz
#broker实例标识,集群时要保证唯一 broker.id=1 # kafka存放数据的目录 log.dirs=/tmp/kafka-logs # 注册中心zookeeper的地址 zookeeper.connect=localhost:2181 # 访问IP,需要保证服务能够通信 listeners=PLAINTEXT://192.168.31.96:9092 ##超时将被删除,也就是说7天之前的数据将被清理掉。 log.retention.hours=168 # 是否允许自动创建topic ,若是false,就需要通过命令创建topic delete.topic.enable=true
cd kafka_2.13-3.2.0
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
ps -ef|grep kafka
listeners=PLAINTEXT://192.168.31.96:9092
ip修改为上面kafka的地址
bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server 192.168.31.96:9092
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server 192.168.31.96:9092
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server 192.168.31.96:9092
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
</dependency>
这里需要注意key不要写错,我当时就是spring.kafka.bootstrap-servers
写成了kafka.bootstrap-servers,导致一直连的是localhost:9092一直测试半天连接不上。
spring.kafka.bootstrap-servers=192.168.31.96:9092
spring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer
spring.listener.ack-mode=manual_immediate
spring.listener.missing-topics-fatal=false
@RestController public class KafkaControl { @Autowired private KafkaTemplate kafkaTemplate; @RequestMapping(value = "/hello3",method = RequestMethod.GET) public String index() { kafkaTemplate.send("quickstart-events","hillll"); return "200"; } }
这里往刚刚的虚拟机topic发送消息,如果里面的消费者端收到消息则证明连接成功了。
可以看到已经发送成功了,测试完毕。
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。