build: zookeeper
environment:
ALLOW_ANONYMOUS_LOGIN: 'yes'
+ ZOO_ENABLE_PROMETHEUS_METRICS: 'yes'
+ volumes:
+ - zookeeper:/bitnami/zookeeper
+ ports:
+ - 2181:2181
+ - 7000:7070
kafka-1:
build: kafka
environment:
+ KAFKA_OPTS:
+ -Dcom.sun.management.jmxremote=true
+ -Dcom.sun.management.jmxremote.port=7000
+ -Dcom.sun.management.jmxremote.authenticate=false
KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9081
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
+ volumes:
+ - kafka-1:/bitnami/kafka
ports:
- 9081:9081
+ - 7001:7000
depends_on:
- zookeeper
kafka-2:
build: kafka
environment:
+ KAFKA_OPTS:
+ -Dcom.sun.management.jmxremote=true
+ -Dcom.sun.management.jmxremote.port=7000
+ -Dcom.sun.management.jmxremote.authenticate=false
KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9082
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
+ volumes:
+ - kafka-2:/bitnami/kafka
ports:
- 9092:9082
- 9082:9082
+ - 7002:7000
networks:
default:
aliases:
kafka-3:
build: kafka
environment:
+ KAFKA_OPTS:
+ -Dcom.sun.management.jmxremote=true
+ -Dcom.sun.management.jmxremote.port=7000
+ -Dcom.sun.management.jmxremote.authenticate=false
KAFKA_CFG_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CFG_LISTENERS: BROKER://:9092, LOCALHOST://:9083
KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
KAFKA_CFG_INTER_BROKER_LISTENER_NAME: BROKER
KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE: "false"
+ volumes:
+ - kafka-3:/bitnami/kafka
ports:
- 9083:9083
+ - 7003:7000
depends_on:
- zookeeper
burrow_exporter:
build: burrow_exporter
environment:
- BURROW_ADDR: burrow:8080
+ BURROW_ADDR: http://burrow:8080
API_VERSION: 3
ports:
- - 8080:8080
+ - 8008:8080
kafka-lag-exporter:
image: seglo/kafka-lag-exporter:0.8.2
producer:
image: juplo/simple-producer:1.0-SNAPSHOT
+ entrypoint: java
+ -Dcom.sun.management.jmxremote=true
+ -Dcom.sun.management.jmxremote.port=7000
+ -Dcom.sun.management.jmxremote.local.only=false
+ -Dcom.sun.management.jmxremote.authenticate=false
+ -Dcom.sun.management.jmxremote.ssl=false
+ -jar /opt/app.jar
command: kafka:9092 test producer
+ ports:
+ - 7010:7000
consumer:
image: juplo/simple-consumer:1.0-SNAPSHOT
+ entrypoint: java
+ -Dcom.sun.management.jmxremote=true
+ -Dcom.sun.management.jmxremote.port=7000
+ -Dcom.sun.management.jmxremote.local.only=false
+ -Dcom.sun.management.jmxremote.authenticate=false
+ -Dcom.sun.management.jmxremote.ssl=false
+ -jar /opt/app.jar
command: kafka:9092 test my-group consumer
+ ports:
+ - 7020:7000
+
+ cli:
+ image: juplo/toolbox
+ command: sleep infinity
+ depends_on:
+ - setup
volumes:
+ zookeeper:
+ kafka-1:
+ kafka-2:
+ kafka-3:
grafana: