docker-compose部署kafka同事创建消费者
时间: 2024-12-16 13:10:43 浏览: 8
利用docker和docker-compose部署单机kafka
使用Docker Compose部署Kafka并同时创建消费者的步骤如下:
1. **编写Docker Compose文件**:首先,创建一个名为`docker-compose.yml`的文件,并添加以下内容:
```yaml
version: '3'
services:
zookeeper:
image: wurstmeister/zookeeper
container_name: zookeeper
ports:
- "2181:2181"
kafka:
image: wurstmeister/kafka
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: localhost
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
depends_on:
- zookeeper
kafka-consumer:
image: confluentinc/cp-kafka:latest
container_name: kafka-consumer
command: /bin/sh -c "
kafka-console-consumer \
--bootstrap-server kafka:9092 \
--topic test-topic \
--from-beginning"
depends_on:
- kafka
```
2. **启动Docker Compose**:在终端中导航到包含`docker-compose.yml`文件的目录,并运行以下命令:
```sh
docker-compose up -d
```
3. **创建Kafka主题**:为了确保消费者能够消费消息,需要创建一个Kafka主题。可以使用以下命令:
```sh
docker exec -it kafka kafka-topics.sh --partitions 1 --topic test-topic
```
4. **发送消息**:可以使用Kafka的`kafka-console-producer`工具发送消息:
```sh
docker exec -it kafka kafka-console-producer.sh --broker-list kafka:9092 --topic test-topic
```
5. **查看消费者输出**:在终端中,你可以看到`kafka-consumer`服务的输出,显示接收到的消息。
通过上述步骤,你可以使用Docker Compose部署Kafka并同时创建一个消费者来消费消息。
阅读全文