4 image: confluentinc/cp-zookeeper:7.5.1
6 ZOOKEEPER_CLIENT_PORT: 2181
10 - zookeeper-data:/var/lib/zookeeper/data
11 - zookeeper-log:/var/lib/zookeeper/log
14 image: confluentinc/cp-kafka:7.5.1
16 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
17 KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9081
18 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
19 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-1:9092, LOCALHOST://localhost:9081
21 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
22 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
23 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
25 - kafka-1-data:/var/lib/kafka/data
28 stop_grace_period: 120s
33 image: confluentinc/cp-kafka:7.5.1
35 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
36 KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9082
37 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
38 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-2:9092, LOCALHOST://localhost:9082
40 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
41 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
42 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
44 - kafka-2-data:/var/lib/kafka/data
52 stop_grace_period: 120s
57 image: confluentinc/cp-kafka:7.5.1
59 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
60 KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9083
61 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
62 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-3:9092, LOCALHOST://localhost:9083
64 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
65 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
66 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
68 - kafka-3-data:/var/lib/kafka/data
71 stop_grace_period: 120s
76 image: confluentinc/cp-kafka:7.5.1
78 KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
79 KAFKA_LISTENERS: BROKER://:9092, LOCALHOST://:9084
80 KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: BROKER:PLAINTEXT, LOCALHOST:PLAINTEXT
81 KAFKA_ADVERTISED_LISTENERS: BROKER://kafka-4:9092, LOCALHOST://localhost:9084
83 KAFKA_INTER_BROKER_LISTENER_NAME: BROKER
84 KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
85 KAFKA_AUTO_CREATE_TOPICS_ENABLE: "false"
87 - kafka-4-data:/var/lib/kafka/data
90 stop_grace_period: 120s
95 image: juplo/cruise-control
97 BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092
98 ZOOKEEPER_CONNECT: zookeeper:2181/
103 image: confluentinc/cp-schema-registry:7.5.1
105 SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092
106 SCHEMA_REGISTRY_HOST_NAME: schema-registry
107 SCHEMA_REGISTRY_LISTENERS: http://0.0.0.0:8085
108 SCHEMA_REGISTRY_LOG4J_ROOT_LOGLEVEL: INFO
117 image: confluentinc/cp-kafka-connect:7.5.1
119 CONNECT_BOOTSTRAP_SERVERS: kafka-1:9092,kafka-2:9092,kafka-3:9092
120 CONNECT_REST_PORT: 8083
121 CONNECT_REST_LISTENERS: http://0.0.0.0:8083
122 CONNECT_REST_ADVERTISED_HOST_NAME: connect
123 CONNECT_CONFIG_STORAGE_TOPIC: __connect-config
124 CONNECT_OFFSET_STORAGE_TOPIC: __connect-offsets
125 CONNECT_STATUS_STORAGE_TOPIC: __connect-status
126 CONNECT_GROUP_ID: kafka-connect
127 CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE: "true"
128 CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
129 CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085
130 CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE: "true"
131 CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
132 CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8085
133 CONNECT_INTERNAL_KEY_CONVERTER: org.apache.kafka.connect.json.JsonConverter
134 CONNECT_INTERNAL_VALUE_CONVERTER: org.apache.kafka.connect.json.JsonConverter
135 CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR: 1
136 CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR: 1
137 CONNECT_STATUS_STORAGE_REPLICATION_FACTOR: 1
138 CONNECT_PLUGIN_PATH: /usr/share/java/
146 command: sleep infinity
147 stop_grace_period: 0s
159 cub kafka-ready -b kafka-1:9092,kafka-2:9092,kafka-3:9092 3 60 > /dev/null 2>&1 || exit 1
160 if [ -e INITIALIZED ]
162 echo -n Bereits konfiguriert:
164 kafka-topics --bootstrap-server kafka:9092 --describe --topic test
165 kafka-topics --bootstrap-server kafka:9092 --describe --topic __CruiseControlMetrics
167 kafka-topics --bootstrap-server kafka:9092 \
171 kafka-topics --bootstrap-server kafka:9092 \
175 --replication-factor 3 \
176 --config min.insync.replicas=2 \
177 && echo Das Topic \'test\' wurde erfolgreich angelegt: \
178 && kafka-topics --bootstrap-server kafka:9092 --describe --topic test
179 kafka-topics --bootstrap-server kafka:9092 \
182 --topic __CruiseControlMetrics
183 kafka-topics --bootstrap-server kafka:9092 \
185 --topic __CruiseControlMetrics \
187 --replication-factor 3 \
188 --config min.insync.replicas=2 \
189 && echo Das Topic \'__CruiseControlMetrics\' wurde erfolgreich angelegt: \
190 && kafka-topics --bootstrap-server kafka:9092 --describe --topic __CruiseControlMetrics
192 && date > INITIALIZED
193 stop_grace_period: 0s
198 image: elkozmon/zoonavigator:1.1.2
203 CONNECTION_JUPLO_NAME: juplo
204 CONNECTION_JUPLO_CONN: zookeeper:2181
205 AUTO_CONNECT_CONNECTION_ID: JUPLO
210 image: tchiotludo/akhq:0.23.0
214 AKHQ_CONFIGURATION: |
219 bootstrap.servers: "kafka:9092"
221 url: "http://schema-registry:8085"
224 url: "http://connect:8083"
231 image: juplo/endless-stream-spring-producer:1.0-SNAPSHOT
233 producer.throttle-ms: 1
234 spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
235 spring.kafka.client-id: producer
236 spring.kafka.template.default-topic: test
237 spring.kafka.producer.properties.linger.ms: 100
240 image: juplo/spring-consumer:1.0-SNAPSHOT
242 spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
243 spring.kafka.client-id: consumer-1
246 image: juplo/spring-consumer:1.0-SNAPSHOT
248 spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
249 spring.kafka.client-id: consumer-2
252 image: juplo/spring-consumer:1.0-SNAPSHOT
254 spring.kafka.bootstrap-servers: kafka-1:9092, kafka-2:9092, kafka-3:9092
255 spring.kafka.client-id: consumer-3