docker启动kafka
最近在做微服务项目,准备使用kafka作为MQ。
自己以前没接触过kafka,所以自己想搭建一个环境,试用一下。
使用docker-compose启动kafka
首先是docker-compose.yml
1 | version: '3' |
其中 KAFKA_ADVERTISED_HOST_NAME 需要开启外网防火墙9092端口,否则在发布信息和监听信息的时候会不停的报警告信息。
然后启动docker-compose
1 | docker-compose up -d |
之后可以查看启动结果
1 | docker exec -it kafka_kafka_1 bash |
进入容器后,创建一个topic
1 | opt/kafka/bin/kafka-topics.sh --zookeeper zookeeper:2181 --create --replication-factor 1 --partitions 1 --topic kafkatest |
再在这个topic上开启producer,就可以持续输入内容发布消息了。
1 | opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic kafkatest |
再启动一个ssh,进入容器,启动consumer进行这个topic的监听。
1 | opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic kafkatest --from-beginning |
这样就可以在producer上发布消息,再consumer上监听到了。