背景
本地开发任务需要启动个 kafka 环境, 模拟测试
环境
- MacOS
- Docker Desktop Version 4.6.1
- HOST_IP=宿主机网络IP | 个别情况可以使用 host.docker.internal
- KAFKA_TOPIC=xxxxxxx
- KAFKA_GROUP=xxxxxxx
安装步骤
启动 zookeeper
1
kafka docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper
启动 kafka
1
2
3
4
5
6docker run -d --name kafka --link zookeeper -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-t wurstmeister/kafka创建 topic
1
2
3
4
5docker run --rm wurstmeister/kafka kafka-topics.sh --create \
--zookeeper ${HOST_IP}:2181 \
--partitions 1 \
--replication-factor 1 \
--topic ${KAFKA_TOPIC}创建 consumer
1
2
3
4
5docker run --rm wurstmeister/kafka kafka-console-consumer.sh \
--bootstrap-server ${HOST_IP}:9092 \
--topic ${KAFKA_TOPIC} \
--group ${KAFKA_GROUP} \
--from-beginning1
2
3
4
5
6docker run --rm wurstmeister/kafka kafka-console-consumer.sh \
--bootstrap-server ${HOST_IP}:9092 \
--topic ${KAFKA_TOPIC} \
--offset earliest \
--max-messages 10 \
--partition 0创建 producer
1
2
3docker run --rm wurstmeister/kafka kafka-console-producer.sh \
--bootstrap-server ${HOST_IP}:9092 \
--topic ${KAFKA_TOPIC}查看 group 状态
1
2
3
4docker run --rm wurstmeister/kafka kafka-consumer-groups.sh \
--describe \
--bootstrap-server ${HOST_IP}:9092 \
--group ${KAFKA_GROUP}