1
- # https://docs.confluent.io/platform/current/platform-quickstart.html
2
- # https://raw.githubusercontent.com/confluentinc/cp-all-in-one/7.5.3-post/cp-all-in-one-kraft/docker-compose.yml
1
+ # https://github.com/conduktor/kafka-stack-docker-compose
3
2
---
4
- version : ' 2'
3
+ version : ' 2.1'
4
+
5
5
services :
6
- zookeeper :
7
- image : confluentinc/cp-zookeeper:7.5.3
8
- hostname : zookeeper
9
- container_name : zookeeper
6
+ zoo1 :
7
+ image : confluentinc/cp-zookeeper:7.3.2
8
+ hostname : zoo1
9
+ container_name : zoo1
10
10
ports :
11
11
- " 2181:2181"
12
12
environment :
13
13
ZOOKEEPER_CLIENT_PORT : 2181
14
- ZOOKEEPER_TICK_TIME : 2000
14
+ ZOOKEEPER_SERVER_ID : 1
15
+ ZOOKEEPER_SERVERS : zoo1:2888:3888
15
16
16
- broker :
17
- image : confluentinc/cp-server:7.5.3
18
- hostname : broker
19
- container_name : broker
20
- depends_on :
21
- - zookeeper
17
+ kafka1 :
18
+ image : confluentinc/cp-kafka:7.3.2
19
+ hostname : kafka1
20
+ container_name : kafka1
22
21
ports :
23
22
- " 9092:9092"
24
- - " 9101:9101"
23
+ - " 29092:29092"
24
+ - " 9999:9999"
25
25
environment :
26
+ KAFKA_ADVERTISED_LISTENERS : INTERNAL://kafka1:19092,EXTERNAL://${DOCKER_HOST_IP:-127.0.0.1}:9092,DOCKER://host.docker.internal:29092
27
+ KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,DOCKER:PLAINTEXT
28
+ KAFKA_INTER_BROKER_LISTENER_NAME : INTERNAL
29
+ KAFKA_ZOOKEEPER_CONNECT : " zoo1:2181"
26
30
KAFKA_BROKER_ID : 1
27
- KAFKA_ZOOKEEPER_CONNECT : ' zookeeper:2181'
28
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
29
- KAFKA_ADVERTISED_LISTENERS : PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
30
- KAFKA_METRIC_REPORTERS : io.confluent.metrics.reporter.ConfluentMetricsReporter
31
+ KAFKA_LOG4J_LOGGERS : " kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
31
32
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR : 1
32
- KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS : 0
33
- KAFKA_CONFLUENT_LICENSE_TOPIC_REPLICATION_FACTOR : 1
34
- KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR : 1
35
- KAFKA_TRANSACTION_STATE_LOG_MIN_ISR : 1
36
33
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR : 1
37
- KAFKA_JMX_PORT : 9101
38
- KAFKA_JMX_HOSTNAME : localhost
39
- KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL : http://schema-registry:8081
40
- CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS : broker:29092
41
- CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS : 1
42
- CONFLUENT_METRICS_ENABLE : ' true'
43
- CONFLUENT_SUPPORT_CUSTOMER_ID : ' anonymous'
44
- KAFKA_AUTO_CREATE_TOPICS_ENABLE : ' true'
45
- TOPIC_AUTO_CREATE : ' true'
46
-
47
- schema-registry :
48
- image : confluentinc/cp-schema-registry:7.5.3
49
- hostname : schema-registry
50
- container_name : schema-registry
51
- depends_on :
52
- - broker
53
- ports :
54
- - " 8081:8081"
55
- environment :
56
- SCHEMA_REGISTRY_HOST_NAME : schema-registry
57
- SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS : ' broker:29092'
58
- SCHEMA_REGISTRY_LISTENERS : http://0.0.0.0:8081
59
-
60
- connect :
61
- image : cnfldemos/cp-server-connect-datagen:0.6.2-7.5.0
62
- hostname : connect
63
- container_name : connect
64
- depends_on :
65
- - broker
66
- - schema-registry
67
- ports :
68
- - " 8083:8083"
69
- environment :
70
- CONNECT_BOOTSTRAP_SERVERS : ' broker:29092'
71
- CONNECT_REST_ADVERTISED_HOST_NAME : connect
72
- CONNECT_GROUP_ID : compose-connect-group
73
- CONNECT_CONFIG_STORAGE_TOPIC : docker-connect-configs
74
- CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR : 1
75
- CONNECT_OFFSET_FLUSH_INTERVAL_MS : 10000
76
- CONNECT_OFFSET_STORAGE_TOPIC : docker-connect-offsets
77
- CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR : 1
78
- CONNECT_STATUS_STORAGE_TOPIC : docker-connect-status
79
- CONNECT_STATUS_STORAGE_REPLICATION_FACTOR : 1
80
- CONNECT_KEY_CONVERTER : org.apache.kafka.connect.storage.StringConverter
81
- CONNECT_VALUE_CONVERTER : io.confluent.connect.avro.AvroConverter
82
- CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL : http://schema-registry:8081
83
- # CLASSPATH required due to CC-2422
84
- CLASSPATH : /usr/share/java/monitoring-interceptors/monitoring-interceptors-7.5.3.jar
85
- CONNECT_PRODUCER_INTERCEPTOR_CLASSES : " io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor"
86
- CONNECT_CONSUMER_INTERCEPTOR_CLASSES : " io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor"
87
- CONNECT_PLUGIN_PATH : " /usr/share/java,/usr/share/confluent-hub-components"
88
- CONNECT_LOG4J_LOGGERS : org.apache.zookeeper=ERROR,org.I0Itec.zkclient=ERROR,org.reflections=ERROR
89
-
90
- control-center :
91
- image : confluentinc/cp-enterprise-control-center:7.5.3
92
- hostname : control-center
93
- container_name : control-center
94
- depends_on :
95
- - broker
96
- - schema-registry
97
- - connect
98
- - ksqldb-server
99
- ports :
100
- - " 9021:9021"
101
- environment :
102
- CONTROL_CENTER_BOOTSTRAP_SERVERS : ' broker:29092'
103
- CONTROL_CENTER_CONNECT_CONNECT-DEFAULT_CLUSTER : ' connect:8083'
104
- CONTROL_CENTER_KSQL_KSQLDB1_URL : " http://ksqldb-server:8088"
105
- CONTROL_CENTER_KSQL_KSQLDB1_ADVERTISED_URL : " http://localhost:8088"
106
- CONTROL_CENTER_SCHEMA_REGISTRY_URL : " http://schema-registry:8081"
107
- CONTROL_CENTER_REPLICATION_FACTOR : 1
108
- CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS : 1
109
- CONTROL_CENTER_MONITORING_INTERCEPTOR_TOPIC_PARTITIONS : 1
110
- CONFLUENT_METRICS_TOPIC_REPLICATION : 1
111
- PORT : 9021
112
-
113
- ksqldb-server :
114
- image : confluentinc/cp-ksqldb-server:7.5.3
115
- hostname : ksqldb-server
116
- container_name : ksqldb-server
117
- depends_on :
118
- - broker
119
- - connect
120
- ports :
121
- - " 8088:8088"
122
- environment :
123
- KSQL_CONFIG_DIR : " /etc/ksql"
124
- KSQL_BOOTSTRAP_SERVERS : " broker:29092"
125
- KSQL_HOST_NAME : ksqldb-server
126
- KSQL_LISTENERS : " http://0.0.0.0:8088"
127
- KSQL_CACHE_MAX_BYTES_BUFFERING : 0
128
- KSQL_KSQL_SCHEMA_REGISTRY_URL : " http://schema-registry:8081"
129
- KSQL_PRODUCER_INTERCEPTOR_CLASSES : " io.confluent.monitoring.clients.interceptor.MonitoringProducerInterceptor"
130
- KSQL_CONSUMER_INTERCEPTOR_CLASSES : " io.confluent.monitoring.clients.interceptor.MonitoringConsumerInterceptor"
131
- KSQL_KSQL_CONNECT_URL : " http://connect:8083"
132
- KSQL_KSQL_LOGGING_PROCESSING_TOPIC_REPLICATION_FACTOR : 1
133
- KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE : ' true'
134
- KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE : ' true'
135
-
136
- # ksqldb-cli:
137
- # image: confluentinc/cp-ksqldb-cli:7.5.3
138
- # container_name: ksqldb-cli
139
- # depends_on:
140
- # - broker
141
- # - connect
142
- # - ksqldb-server
143
- # entrypoint: /bin/sh
144
- # tty: true
145
-
146
- # ksql-datagen:
147
- # image: confluentinc/ksqldb-examples:7.5.3
148
- # hostname: ksql-datagen
149
- # container_name: ksql-datagen
150
- # depends_on:
151
- # - ksqldb-server
152
- # - broker
153
- # - schema-registry
154
- # - connect
155
- # command: "bash -c 'echo Waiting for Kafka to be ready... && \
156
- # cub kafka-ready -b broker:29092 1 40 && \
157
- # echo Waiting for Confluent Schema Registry to be ready... && \
158
- # cub sr-ready schema-registry 8081 40 && \
159
- # echo Waiting a few seconds for topic creation to finish... && \
160
- # sleep 11 && \
161
- # tail -f /dev/null'"
162
- # environment:
163
- # KSQL_CONFIG_DIR: "/etc/ksql"
164
- # STREAMS_BOOTSTRAP_SERVERS: broker:29092
165
- # STREAMS_SCHEMA_REGISTRY_HOST: schema-registry
166
- # STREAMS_SCHEMA_REGISTRY_PORT: 8081
167
-
168
- rest-proxy :
169
- image : confluentinc/cp-kafka-rest:7.5.3
34
+ KAFKA_TRANSACTION_STATE_LOG_MIN_ISR : 1
35
+ KAFKA_JMX_PORT : 9999
36
+ KAFKA_JMX_HOSTNAME : ${DOCKER_HOST_IP:-127.0.0.1}
37
+ KAFKA_AUTHORIZER_CLASS_NAME : kafka.security.authorizer.AclAuthorizer
38
+ KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND : " true"
170
39
depends_on :
171
- - broker
172
- - schema-registry
173
- ports :
174
- - 8082:8082
175
- hostname : rest-proxy
176
- container_name : rest-proxy
177
- environment :
178
- KAFKA_REST_HOST_NAME : rest-proxy
179
- KAFKA_REST_BOOTSTRAP_SERVERS : ' broker:29092'
180
- KAFKA_REST_LISTENERS : " http://0.0.0.0:8082"
181
- KAFKA_REST_SCHEMA_REGISTRY_URL : ' http://schema-registry:8081'
40
+ - zoo1
0 commit comments