docker 安装 kafka+zookeeper
前言
记录在docker 中安装kafka
wurstmeister/kafka 版本是在mac上测试时使用
bitnami/kafka 版本是在win虚拟机上测试时使用
安装 zookeeper
docker pull zookeeper
docker run -d -p 2181:2181 --name zookeeper1 zookeeper
# 查看 zookeeper 容器的 id
docker ps -a | grep zookeeper
# 查看 zookeeper 容器的 ip 信息 : 172.17.0.2
docker inspect 3b2a0451e377
安装 kafka
1、 wurstmeister/kafka 版本
docker pull wurstmeister/kafka
docker run -d --name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=172.17.0.2:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://localhost:9092 \
wurstmeister/kafka
2、 bitnami/kafka 版本
docker pull bitnami/kafka
docker run -d --name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_ZOOKEEPER_CONNECT=172.17.0.3:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.102.63:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \ ## 0.0.0.0 绑定所有网卡
bitnami/kafka
KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.102.63:9092
## 公网IP
KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
## 0.0.0.0 绑定所有网卡
测试 kafka
docker exec -it kafka /bin/bash
1、wurstmeister/kafka 版本
此版本是在mac上测试
cd /opt/kafka/bin
# 创建 topic
## add topic
./kafka-topics.sh --zookeeper 172.17.0.2 --create --topic test --partitions 1 --replication-factor 1
## list topic
./kafka-topics.sh --zookeeper 172.17.0.2 --list
## delete topic
./kafka-topics.sh --zookeeper 172.17.0.2 --delete --topic test
# 开启生产者客户端 localhost、IP均可
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 开启消费者客户端 localhost、IP均可
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test
2、bitnami/kafka 版本
此版本是在ubantu上测试
cd /opt/bitnami/kafka/bin
# 创建 topic
## add topic
./kafka-topics.sh --bootstrap-server 192.168.102.63:9092 --create --topic test --partitions 1 --replication-factor 1
## list topic
./kafka-topics.sh --bootstrap-server 192.168.102.63:9092 --list
## delete topic
./kafka-topics.sh --bootstrap-server 192.168.102.63:9092 --delete --topic test
# 开启生产者客户端 localhost、IP均可
./kafka-console-producer.sh --broker-list localhost:9092 --topic test
# 开启消费者客户端 localhost、IP均可
./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test