1.在 docker 中拉取 kafka 和 zookeeper 镜像
[root@VM-24-5-centos ~]# docker pull wurstmeister/kafka [root@VM-24-5-centos ~]# docker pull wurstmeister/zookeeper2. 启动 zookeeper
[root@VM-24-5-centos ~]# docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper3. 启动 kafka
## KAFKA_ZOOKEEPER_CONNECT 需要修改成zookeeper所在容器IP(可以使用ifconfig进行查看),容器之间是可以通过IP访问的,但是不能填写成虚拟IP [root@VM-24-5-centos ~]# docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.1:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -v /etc/localtime:/etc/localtime -t wurstmeister/kafka:latest4. 查看 kafka 的容器ID
[root@VM-24-5-centos ~]# docker ps |grep kafka5. 查看 kafka 和 zookeeper 是否启动成功
[root@VM-24-5-centos ~]# docker ps6. 进入 kafka 容器中
[root@VM-24-5-centos ~]# docker exec -it b632402293ba /bin/bash
- 查看相关的命令
# 查看topic的命令 bash-5.1# /opt/kafka/bin/kafka-topics.sh # 查看生产者端的命令 bash-5.1# /opt/kafka/bin/kafka-console-producer.sh # 查看消费者端的命令 bash-5.1# /opt/kafka/bin/kafka-console-producer.sh7. 创建 topic
bash-5.1# /opt/kafka/bin/kafka-topics.sh --zookeeper 10.0.24.5:2181 --create --replication-factor 1 --partitions 1 --topic mykafkadk Created topic mykafkadk. # 表示创建成功8. 查看指定 topic 的详细描述信息
bash-5.1# /opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --topic mykafkadk --describe Topic: mykafkadk TopicId: DrgX_OZ_TBikrvzxiTO-9Q PartitionCount: 1 ReplicationFactor: 1 Configs: segment.bytes=1073741824 Topic: mykafkadk Partition: 0 Leader: 1 Replicas: 1 Isr: 19. 查看创建的所有 topic
bash-5.1# /opt/kafka/bin/kafka-topics.sh --zookeeper 172.17.0.1:2181 --list mykafkadk10. 向指定的 topic 中进行发送消息
bash-5.1# /opt/kafka/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic mykafkadk >1 >211. 消费者进行消费指定 topic 中的消息
- 只会消费连接上之后生产者发送的消息
bash-5.1# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykafkadk 2
- –from-beginning: 会消费所有的发送到broker中的消息
bash-5.1# /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mykafkadk --from-beginning 1 2



