Skip to content

Instantly share code, notes, and snippets.

@xtrmstep
Created May 21, 2020 06:04
Show Gist options
  • Save xtrmstep/fe8565748cc6efdbfc711c24db89ec11 to your computer and use it in GitHub Desktop.
Save xtrmstep/fe8565748cc6efdbfc711c24db89ec11 to your computer and use it in GitHub Desktop.
Docker-compose definition to run two Kafkas locally and configure MirrorMaker between them
version: '2'
services:
zookeeper1:
restart: always
image: wurstmeister/zookeeper:latest
container_name: zookeeper1
ports:
- "2181:2181"
kafka1:
restart: always
image: wurstmeister/kafka:latest
container_name: kafka1
depends_on:
- zookeeper1
ports:
- "9091:9091"
expose:
- "29091"
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_HOST}
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka1:29091,OUTSIDE://${KAFKA_HOST}:9091
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS: INSIDE://0.0.0.0:29091,OUTSIDE://0.0.0.0:9091
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
KAFKA_ZOOKEEPER_CONNECT: zookeeper1:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
zookeeper2:
restart: always
image: wurstmeister/zookeeper:latest
container_name: zookeeper2
ports:
- "2182:2181"
kafka2:
restart: always
image: wurstmeister/kafka:latest
container_name: kafka2
depends_on:
- zookeeper2
ports:
- "9092:9092"
expose:
- "29091"
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_HOST}
KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka2:29092,OUTSIDE://${KAFKA_HOST}:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_LISTENERS: INSIDE://0.0.0.0:29092,OUTSIDE://0.0.0.0:9092
KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
KAFKA_ZOOKEEPER_CONNECT: zookeeper2:2181
volumes:
- /var/run/docker.sock:/var/run/docker.sock
mirrormaker:
image: zeelos/kafka-mirrormaker:5.2.2
hostname: mirrormaker
container_name: mirrormaker
depends_on:
- kafka2
environment:
MIRRORMAKER_WHITE_LIST: 'stream-bets'
MIRRORMAKER_OFFSET_COMMIT_INTERVAL: 60000
MIRRORMAKER_NUM_STREAMS: 1
CONSUMER_BOOTSTRAP_SERVERS: kafka1:29092
CONSUMER_GROUP_ID: MirrorMaker
CONSUMER_AUTO_OFFSET_RESET: latest
PRODUCER_BOOTSTRAP_SERVERS: kafka2:29092
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment