CORS für die cruise-control-ui konfiguriert - _Hilft nicht :/_
[demos/kafka/training] / docker / docker-compose.yml
index dd7c830..ffd4c1f 100644 (file)
@@ -21,7 +21,9 @@ services:
       KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
       KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
+      - ./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
@@ -40,7 +42,9 @@ services:
       KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
       KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
+      - ./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
@@ -64,7 +68,9 @@ services:
       KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
       KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
       KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
+      KAFKA_METRIC_REPORTERS: com.linkedin.kafka.cruisecontrol.metricsreporter.CruiseControlMetricsReporter
     volumes:
+      - ./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
@@ -72,6 +78,15 @@ 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/
+      CORS_ORIGIN: http://localhost:9080
+    ports:
+      - "9090:9090"
+
   schema-registry:
     image: confluentinc/cp-schema-registry:7.5.1
     environment:
@@ -135,6 +150,7 @@ 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 \
@@ -147,9 +163,21 @@ services:
                        --replication-factor 3 \
                        --config min.insync.replicas=2 \
           && echo Das Topic \'test\' wurde erfolgreich angelegt: \
-          && kafka-topics --bootstrap-server kafka:9092 --describe --topic test \
-          && date > INITIALIZED
-        fi
+          && kafka-topics --bootstrap-server kafka:9092 --describe --topic test
+          kafka-topics --bootstrap-server kafka:9092 \
+                       --delete \
+                       --if-exists \
+                       --topic __CruiseControlMetrics
+          kafka-topics --bootstrap-server kafka:9092 \
+                       --create \
+                       --topic __CruiseControlMetrics \
+                       --partitions 2 \
+                       --replication-factor 3 \
+                       --config min.insync.replicas=2 \
+          && echo Das Topic \'__CruiseControlMetrics\' wurde erfolgreich angelegt: \
+          && kafka-topics --bootstrap-server kafka:9092 --describe --topic __CruiseControlMetrics
+        fi \
+        && date > INITIALIZED
     stop_grace_period: 0s
     depends_on:
       - cli
@@ -187,6 +215,40 @@ services:
       - kafka-2
       - kafka-3
 
+  cruise-control-ui:
+    image: juplo/cruise-control-ui
+    volumes:
+      - ./config.csv:/usr/share/nginx/html/static/config.csv
+    ports:
+      - "9080:80"
+
+  producer:
+    image: juplo/endless-stream-spring-producer:1.0-SNAPSHOT
+    environment:
+      producer.throttle-ms: 1
+      spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
+      spring.kafka.client-id: producer
+      spring.kafka.template.default-topic: test
+      spring.kafka.producer.properties.linger.ms: 100
+
+  consumer-1:
+    image: juplo/spring-consumer:1.0-SNAPSHOT
+    environment:
+      spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
+      spring.kafka.client-id: consumer-1
+
+  consumer-2:
+    image: juplo/spring-consumer:1.0-SNAPSHOT
+    environment:
+      spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
+      spring.kafka.client-id: consumer-2
+
+  consumer-3:
+    image: juplo/spring-consumer:1.0-SNAPSHOT
+    environment:
+      spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
+      spring.kafka.client-id: consumer-3
+
 volumes:
   zookeeper-data:
   zookeeper-log: