- 下载镜像
1
| docker pull zookeeper:3.5.6
|
1
| docker pull wurstmeister/kafka
|
- 启动
1
| docker run -d --name zookeeper -p 2181:2181 -t zookeeper:3.5.6
|
1
| docker run -d --name kafka --publish 9092:9092 --link zookeeper --env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=localhost --env KAFKA_ADVERTISED_PORT=9092 wurstmeister/kafka:latest
|
可通过docker ps
查看启动状态
- 测试
docker ps
找到container id,进入容器
1 2
| # docker exec -it ${CONTAINER NAME} /bin/bash docker exec -it kafka /bin/bash
|
进入kafka默认目录
1
| cd /opt/kafka_2.12-2.4.1/bin
|
- 创建主题
1
| bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
|
1
| bin/kafka-topics.sh --list --bootstrap-server localhost:9092
|
- 发送消息
1
| bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
|
- 消费消息
1
| bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
|
- 多个kafka节点
1
| bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic my-replicated-topic1
|
1
| docker run -d --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=192.168.199.246:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.199.246:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
|
1
| docker run -d --name kafka1 -p 9093:9093 -e KAFKA_BROKER_ID=1 -e KAFKA_ZOOKEEPER_CONNECT=192.168.199.246:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.199.246:9093 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9093 -t wurstmeister/kafka
|
1
| docker run -d --name kafka2 -p 9094:9094 -e KAFKA_BROKER_ID=2 -e KAFKA_ZOOKEEPER_CONNECT=192.168.199.246:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.199.246:9094 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9094 -t wurstmeister/kafka
|
删除主题
1
| bin/kafka-topics.sh --delete --topic my-replicated-topic --bootstrap-server localhost:9092
|
查看主题
1
| bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
|
1
| bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test1
|
1
| bin/kafka-topics.sh --describe --zookeeper 192.168.199.246:2181 --topic test1
|
参考文章
在Docker环境下部署Kafka
Mac 使用 docker 搭建 kafka 集群 + Zookeeper + kafka-manager
apache kafka quickstart