66 lines
1.5 KiB
YAML

services:
zookeeper:
image: confluentinc/cp-zookeeper:latest
networks:
kafka_network:
aliases:
- zookeeper
deploy:
replicas: 1
restart_policy:
condition: on-failure
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ports:
- "2181:2181"
kafka:
image: confluentinc/cp-kafka:latest
depends_on:
- zookeeper
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
KAFKA_BROKER_ID: 1
KAFKA_MESSAGE_MAX_BYTES: 200000000
KAFKA_REPLICA_FETCH_MAX_BYTES: 200000000
networks:
kafka_network:
aliases:
- kafka
ports:
- "9092:9092"
volumes:
- kafka_data:/var/lib/kafka/data
deploy:
replicas: 1
restart_policy:
condition: on-failure
data_streamer:
image: 127.0.0.1:5000/data_streamer:latest
depends_on:
- kafka
networks:
kafka_network:
aliases:
- data_streamer
volumes:
- "./10k_sample_2023_10_01-2023_10_31.csv:/data/csv/main.csv:ro"
command: "sh -c 'sleep 30 && python /app/pcap_processor.py -c /data/csv/main.csv -x --stream_size 100000'"
deploy:
replicas: 1
restart_policy:
condition: on-failure
networks:
kafka_network:
driver: overlay
attachable: true
volumes:
kafka_data:
driver: local