1.下载安装zookeeper
docker pull docker.io/wurstmeister/zookeeper
2.启动zookeeper
docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
3.下载安装kafka
docker pull docker.io/wurstmeister/kafka
4.启动kafka
docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.1.20:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.1.20:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
docker run -d --name kafka
-p 9092:9092
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=192.168.204.128:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.204.128:9092
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
中间两个参数的192.168.204.128改为宿主机器的IP地址,如果不这么设置,可能会导致在别的机器上访问不到kafka。
5.进入kafka容器的命令行
docker exec -ti kafka /bin/bash
6.进入kafka容器的命令行
cd opt/kafka_2.12-2.2.1/
7.创建主体topic
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka
bin/kafka-topics.sh --create --zookeeper 192.168.1.20:2181 --replication-factor 1 --partitions 1 --topic mykafka
成功后显示 --partitions 1表示允许多少个消费者消费
Created topic mykafka.
查看状态
bin/kafka-topics.sh --describe --zookeeper 192.168.1.20:2181 --topic mykafka
8.发送消息
./bin/kafka-console-producer.sh --broker-list 192.168.1.20:9092 --topic mykafka
9.接收消息
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.20:9092 --topic mykafka --from-beginning
10、删除topic命令
./bin/kafka-topics.sh --delete --zookeeper 192.168.1.20:2181 --topic mykafka