使用Docker快速搭建Kafka开发环境
创建 docker-compose.yml
version: '2'
services:
zoo1:
image: wurstmeister/zookeeper
restart: unless-stopped
hostname: zoo1
ports:
- "2181:2181"
container_name: zookeeper
# kafka version: 1.1.0
# scala version: 2.12
kafka1:
image: wurstmeister/kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: "zoo1:2181"
KAFKA_BROKER_ID: 1
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
KAFKA_CREATE_TOPICS: "stream-in:1:1,stream-out:1:1"
depends_on:
- zoo1
container_name: kafka
1,启动docker-compose
在你之前选的那个目录下,执行cmd命令如下:
docker-compose up -d
2,可用性测试
自此,如果没有出现什么错误,通过docker ps 应该可以看到已经成功启动了一个zookeeper容器,两个Kafka容器。
通过指定容器名(假设容器名为 kafka1)进入一个Kafka容器:
docker exec -it kafka1 /bin/bash
查看已有的topic列表:
$KAFKA_HOME/bin/kafka-topics.sh --zookeeper zoo1:2181 --list
发布消息: (输入若干条消息后 按^C 退出发布)
$KAFKA_HOME/bin/kafka-console-producer.sh --topic=stream-in \
--broker-list kafka1:9092
接收消息:
$KAFKA_HOME/bin/kafka-console-consumer.sh \
--bootstrap-server kafka1:9092 \
--from-beginning --topic stream-in
如果接收到了发布的消息,证明整个部署正常,就可以正式开始开发工作了。
其他命令:
创建主题:$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper zoo1:2181 --replication-factor 2 --partitions 3 --topic test1
https://www.jianshu.com/p/ac03f126980e
https://blog.csdn.net/tiandao321/article/details/97795162
https://www.jianshu.com/p/191adace9de6
docker-compose up

浙公网安备 33010602011771号