一.安装zookeeper
由于 kafka 依赖 zookeeper,所以需要先安装 zookeeper。
docker pull zookeeper
docker run -d -p 2181:2181 --name zookeeper1 zookeeper
安装完成后,查看 zookeeper 容器的 ip,后面安装 kafka 时需要连接 zookeeper,使用主机 ip 可能会导致连接不上。
# 查看 zookeeper 容器的 id
docker ps -aq
# 查看 zookeeper 容器的 ip 信息
docker inspect bfa5d203afe3
二.安装kafka
docker pull wurstmeister/kafka
# KAFKA_BROKER_ID:配置broker_id,在kafka集群中是唯一的
# KAFKA_ZOOKEEPER_CONNECT:配置连接 zookeeper 的 ip 和 port
# KAFKA_LISTENERS:配置 kafka 监听的端口
docker run -d --name kafka1 -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka
三.测试kafka
1. 进入到 kafka 的 bin 目录
cd /opt/kafka/bin
2. 创建一个 test 的主题
# --zookeeper:指定 zookeeper 容器的 ip 和 端口
# --topic:指定主题的名字
./kafka-topics.sh --create --zookeeper 172.17.0.2:2181 --replication-factor 1 --partitions 1 --topic test
3. 开启一个生产者客户端
# --broker-list:指定 kafka 的 ip 和 port
# --topic:指定消息发送到哪个主题
./kafka-console-producer.sh --broker-list 127.0.0.1:9092 --topic test
4. 开启一个消费者客户端
# --bootstrap-server:指定 kafka 的 ip 和 port
# --topic:指定订阅的主题
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic test
5. 在生产者客户端发消息
6.在消费者客户端收到消息
到此说明你的 kafka 已经安装成功!!!