docker部署kafka

可以使用docker快捷方便的部署kafka单机版和集群版
这里使用的是bitnami发布的镜像

部署单机版的过程中遇到一些问题,主要是找不到host的问题,最后成功部署使用的docker-compose.yml内容如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
version: "3"

services:
kafka:
container_name: kafka
hostname: kafka
image: docker.io/bitnami/kafka:latest
ports:
- "9092:9092"
volumes:
- "kafka_data:/bitnami"
environment:
ALLOW_PLAINTEXT_LISTENER: yes
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092


volumes:
kafka_data:
driver: local

注意KAFKA_ADVERTISED_LISTENERS最好填localhost, 填其他的可能会有问题

image-20230426上午84205188

SpringBoot的application.yml里面这样配置就行了

1
2
3
spring:
kafka:
bootstrapServers: localhost:9092

订阅主题可以这样写✍️

1
2
3
4
5

@KafkaListener(id = "core", topics = {"m3u8.info"}, containerFactory = "kafkaJsonListenerContainerFactory")
public void listenTopic(M3U8InfoDetail detail) {
System.out.println(detail);
}