@@ -34,22 +34,17 @@ services:
34
34
KAFKA_BROKER_ID : 1
35
35
KAFKA_ZOOKEEPER_CONNECT : ' zookeeper:2181'
36
36
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP : PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
37
- # Define how clients connect to brokers
38
37
KAFKA_ADVERTISED_LISTENERS : PLAINTEXT://broker:29092,PLAINTEXT_HOST://localhost:9092
39
38
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR : 1
40
- # Schema Registry URL for storing and managing Avro schemas
41
39
KAFKA_CONFLUENT_SCHEMA_REGISTRY_URL : http://schema-registry:8081
42
- # Confluent Metrics Reporter for Control Center Cluster Monitoring
43
40
KAFKA_METRIC_REPORTERS : io.confluent.metrics.reporter.ConfluentMetricsReporter
44
41
CONFLUENT_METRICS_REPORTER_BOOTSTRAP_SERVERS : " broker:9092"
45
42
CONFLUENT_METRICS_REPORTER_TOPIC_REPLICAS : 1
46
43
CONFLUENT_METRICS_ENABLE : " true"
47
- # For fixing the bug replication factor 3 > the number of node
48
44
KAFKA_CONFLUENT_BALANCER_TOPIC_REPLICATION_FACTOR : 1
49
45
KAFKA_TRANSACTION_STATE_LOG_MIN_ISR : 1
50
46
KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR : 1
51
47
52
- # For managing Avro schemas
53
48
schema-registry :
54
49
image : confluentinc/cp-schema-registry:7.5.0
55
50
container_name : streaming-schema-registry
@@ -67,44 +62,42 @@ services:
67
62
SCHEMA_REGISTRY_KAFKASTORE_BOOTSTRAP_SERVERS : " broker:29092"
68
63
SCHEMA_REGISTRY_LISTENERS : http://0.0.0.0:8081
69
64
70
- # For connecting to offline store (Connect Kafka to database)
71
- # connect:
72
- image : confluentinc/cp-kafka-connect:7.5.0
73
- container_name : streaming-connect
74
- depends_on :
75
- broker :
76
- condition : service_healthy
77
- schema-registry :
78
- condition : service_healthy
79
- zookeeper :
80
- condition : service_healthy
81
- ports :
82
- - " 8083:8083"
83
- environment :
84
- CONNECT_BOOTSTRAP_SERVERS : " broker:29092"
85
- CONNECT_REST_ADVERTISED_HOST_NAME : connect
86
- CONNECT_REST_PORT : 8083
87
- CONNECT_GROUP_ID : compose-connect-group
88
- CONNECT_CONFIG_STORAGE_TOPIC : docker-connect-configs
89
- CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR : 1
90
- CONNECT_OFFSET_FLUSH_INTERVAL_MS : 10000
91
- CONNECT_OFFSET_STORAGE_TOPIC : docker-connect-offsets
92
- CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR : 1
93
- CONNECT_STATUS_STORAGE_TOPIC : docker-connect-status
94
- CONNECT_STATUS_STORAGE_REPLICATION_FACTOR : 1
95
- CONNECT_KEY_CONVERTER : org.apache.kafka.connect.storage.StringConverter
96
- CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE : false
97
- CONNECT_VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
98
- CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE : true
99
- # CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
100
- # CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
101
- # CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081
102
- # CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081
103
- CONNECT_PLUGIN_PATH : " /usr/share/java,/etc/kafka-connect/jars"
104
- volumes :
105
- - $PWD/data_ingestion/kafka_connect/jars/:/etc/kafka-connect/jars
65
+ connect :
66
+ image : confluentinc/cp-kafka-connect:7.5.0
67
+ container_name : streaming-connect
68
+ depends_on :
69
+ broker :
70
+ condition : service_healthy
71
+ schema-registry :
72
+ condition : service_healthy
73
+ zookeeper :
74
+ condition : service_healthy
75
+ ports :
76
+ - " 8083:8083"
77
+ environment :
78
+ CONNECT_BOOTSTRAP_SERVERS : " broker:29092"
79
+ CONNECT_REST_ADVERTISED_HOST_NAME : connect
80
+ CONNECT_REST_PORT : 8083
81
+ CONNECT_GROUP_ID : compose-connect-group
82
+ CONNECT_CONFIG_STORAGE_TOPIC : docker-connect-configs
83
+ CONNECT_CONFIG_STORAGE_REPLICATION_FACTOR : 1
84
+ CONNECT_OFFSET_FLUSH_INTERVAL_MS : 10000
85
+ CONNECT_OFFSET_STORAGE_TOPIC : docker-connect-offsets
86
+ CONNECT_OFFSET_STORAGE_REPLICATION_FACTOR : 1
87
+ CONNECT_STATUS_STORAGE_TOPIC : docker-connect-status
88
+ CONNECT_STATUS_STORAGE_REPLICATION_FACTOR : 1
89
+ CONNECT_KEY_CONVERTER : org.apache.kafka.connect.storage.StringConverter
90
+ CONNECT_KEY_CONVERTER_SCHEMAS_ENABLE : false
91
+ CONNECT_VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
92
+ CONNECT_VALUE_CONVERTER_SCHEMAS_ENABLE : true
93
+ # CONNECT_KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
94
+ # CONNECT_VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
95
+ # CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081
96
+ # CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL: http://schema-registry:8081
97
+ CONNECT_PLUGIN_PATH : " /usr/share/java,/etc/kafka-connect/jars"
98
+ volumes :
99
+ - $PWD/data_ingestion/kafka_connect/jars/:/etc/kafka-connect/jars
106
100
107
- # Confluent control center to manage Kafka
108
101
control-center :
109
102
image : confluentinc/cp-enterprise-control-center:7.5.0
110
103
container_name : streaming-control-center
@@ -127,7 +120,7 @@ services:
127
120
CONTROL_CENTER_INTERNAL_TOPICS_PARTITIONS : 1
128
121
CONTROL_CENTER_CONNECT_HEALTHCHECK_ENDPOINT : " /connectors"
129
122
CONFLUENT_METRICS_TOPIC_REPLICATION : 1
130
- # CDC platform to capture changes in DB and stream them to Kafka
123
+
131
124
debezium :
132
125
image : debezium/connect:1.9
133
126
container_name : streaming-debezium
@@ -154,22 +147,19 @@ services:
154
147
timeout : 5s
155
148
retries : 5
156
149
ports :
157
- - " 8083 :8083"
150
+ - " 8086 :8083"
158
151
environment :
159
152
BOOTSTRAP_SERVERS : broker:29092
160
153
GROUP_ID : 1
161
154
CONFIG_STORAGE_TOPIC : connect_configs
162
155
OFFSET_STORAGE_TOPIC : connect_offsets
163
- # Set to Avro for higher performance
164
- # KEY_CONVERTER: io.confluent.connect.avro.AvroConverter
165
- # VALUE_CONVERTER: io.confluent.connect.avro.AvroConverter
166
156
KEY_CONVERTER : org.apache.kafka.connect.json.JsonConverter
167
157
VALUE_CONVERTER : org.apache.kafka.connect.json.JsonConverter
168
158
CONNECT_KEY_CONVERTER_SCHEMA_REGISTRY_URL : http://schema-registry:8081
169
159
CONNECT_VALUE_CONVERTER_SCHEMA_REGISTRY_URL : http://schema-registry:8081
170
160
CONNECT_TOPIC_CREATION_ENABLE : true
171
161
172
- # Debezium UI
162
+
173
163
debezium-ui :
174
164
image : debezium/debezium-ui:latest
175
165
container_name : debezium-ui
@@ -183,8 +173,6 @@ services:
183
173
KAFKA_CONNECT_URIS : http://debezium:8083
184
174
185
175
postgresql :
186
- # Set wal_level from replica (default) to logical
187
- # so that Debezium can capture change
188
176
image : postgres:latest
189
177
command : ["postgres", "-c", "wal_level=logical"]
190
178
container_name : streaming-postgresql
@@ -196,11 +184,11 @@ services:
196
184
ports :
197
185
- " 5432:5432"
198
186
environment :
199
- - POSTGRES_DB=v9
200
- - POSTGRES_USER=v9
201
- - POSTGRES_PASSWORD=v9
187
+ - POSTGRES_DB=my_database
188
+ - POSTGRES_USER=postgres
189
+ - POSTGRES_PASSWORD=postgres
202
190
volumes :
203
191
- cdc_postgres_data:/var/lib/postgresql/data
204
192
205
193
volumes :
206
- cdc_postgres_data:
194
+ cdc_postgres_data :
0 commit comments