Docker-Image für Cruise Control gebaut & eingebunden
[demos/kafka/training] / docker / docker-compose.yml
index 875e209..d769965 100644 (file)
@@ -28,8 +28,10 @@ services:
         -Dcom.sun.management.jmxremote=true
         -Dcom.sun.management.jmxremote.port=9101
         -Dcom.sun.management.jmxremote.authenticate=false
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
       - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro
+      - ./cruise-control-metrics-reporter.jar:/usr/share/java/kafka/cruise-control-metrics-reporter.jar:ro
       - kafka-1-data:/var/lib/kafka/data
     ports:
       - 9081:9081
@@ -55,8 +57,10 @@ services:
         -Dcom.sun.management.jmxremote=true
         -Dcom.sun.management.jmxremote.port=9101
         -Dcom.sun.management.jmxremote.authenticate=false
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
       - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro
+      - ./cruise-control-metrics-reporter.jar:/usr/share/java/kafka/cruise-control-metrics-reporter.jar:ro
       - kafka-2-data:/var/lib/kafka/data
     ports:
       - 9092:9082
@@ -87,8 +91,10 @@ services:
         -Dcom.sun.management.jmxremote=true
         -Dcom.sun.management.jmxremote.port=9101
         -Dcom.sun.management.jmxremote.authenticate=false
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
       - ./jmx-exporter.yml:/etc/jmx-exporter.yml:ro
+      - ./cruise-control-metrics-reporter.jar:/usr/share/java/kafka/cruise-control-metrics-reporter.jar:ro
       - kafka-3-data:/var/lib/kafka/data
     ports:
       - 9083:9083
@@ -96,6 +102,14 @@ services:
     depends_on:
       - zookeeper
 
+  cruise-control:
+    image: juplo/cruise-control
+    environment:
+      BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092
+      ZOOKEEPER_CONNECT: zookeeper:2181/
+    ports:
+      - "9090:9090"
+
   schema-registry:
     image: confluentinc/cp-schema-registry:7.5.1
     environment:
@@ -159,19 +173,31 @@ services:
           echo -n Bereits konfiguriert: 
           cat INITIALIZED
           kafka-topics --bootstrap-server kafka:9092 --describe --topic test
+          kafka-topics --bootstrap-server kafka:9092 --describe --topic __CruiseControlMetrics
         else
           kafka-topics --bootstrap-server kafka:9092 \
                        --delete \
                        --if-exists \
                        --topic test
+          kafka-topics --bootstrap-server kafka:9092 \
+                       --delete \
+                       --if-exists \
+                       --topic __CruiseControlMetrics
           kafka-topics --bootstrap-server kafka:9092 \
                        --create \
                        --topic test \
                        --partitions 2 \
                        --replication-factor 3 \
                        --config min.insync.replicas=2 \
+          kafka-topics --bootstrap-server kafka:9092 \
+                       --create \
+                       --topic __CruiseControlMetrics \
+                       --partitions 2 \
+                       --replication-factor 3 \
+                       --config min.insync.replicas=2 \
           && echo Das Topic \'test\' wurde erfolgreich angelegt: \
           && kafka-topics --bootstrap-server kafka:9092 --describe --topic test \
+          && kafka-topics --bootstrap-server kafka:9092 --describe --topic __CruiseControlMetrics \
           && date > INITIALIZED
         fi
     stop_grace_period: 0s