Skip to content

Commit 7a1b928

Browse files
committed
feat: add kafka cluster
1 parent 7bd0dd5 commit 7a1b928

File tree

2 files changed

+69
-0
lines changed

2 files changed

+69
-0
lines changed

kafka/docker-compose/README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,12 @@ docker compose down --remove-orphans --volumes
1515

1616
- kafka broker in kraft mode
1717

18+
### apache-kraft-2
19+
20+
- kafka broker in kraft mode
21+
- ksqldb
22+
- mysql
23+
1824
### apache-zk-1
1925

2026
single node cluster with basic configuration
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
# SPDX-License-Identifier: APACHE-2.0
2+
# SPDX-FileCopyrightText: Copyright 2025 Jinseong Ha
3+
4+
services:
5+
kafka-broker:
6+
image: bitnami/kafka:3.8
7+
hostname: kafka-broker
8+
ports:
9+
- "9092:9092"
10+
environment:
11+
# KRaft settings
12+
- KAFKA_CFG_NODE_ID=0
13+
- KAFKA_CFG_PROCESS_ROLES=controller,broker
14+
- KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=0@kafka-broker:9094
15+
# Listeners
16+
- KAFKA_CFG_LISTENERS=INTERNAL://:9091,EXTERNAL://:9092,BROKER://:9093,CONTROLLER://:9094
17+
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka-broker:9091,EXTERNAL://localhost:9092,BROKER://kafka-broker:9093
18+
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT,BROKER:PLAINTEXT,CONTROLLER:PLAINTEXT
19+
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=BROKER
20+
- KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER
21+
networks:
22+
- stream-network
23+
volumes:
24+
- kafka_broker_volume:/bitnami/kafka
25+
26+
ksqldb:
27+
image: confluentinc/cp-ksqldb-server:7.7.0
28+
hostname: ksqldb
29+
ports:
30+
- 8088:8088
31+
environment:
32+
KSQL_LISTENERS: http://0.0.0.0:8088
33+
KSQL_BOOTSTRAP_SERVERS: kafka-broker:9091
34+
KSQL_KSQL_LOGGING_PROCESSING_TOPIC_AUTO_CREATE: "true"
35+
KSQL_KSQL_LOGGING_PROCESSING_STREAM_AUTO_CREATE: "true"
36+
networks:
37+
- stream-network
38+
depends_on:
39+
- kafka-broker
40+
41+
mysql:
42+
image: quay.io/debezium/example-mysql:2.7
43+
hostname: mysql
44+
ports:
45+
- 3306:3306
46+
environment:
47+
MYSQL_ROOT_PASSWORD: password
48+
MYSQL_USER: mysqluser
49+
MYSQL_PASSWORD: mysqlpw
50+
networks:
51+
- stream-network
52+
volumes:
53+
- mysql_volume:/var/lib/mysql
54+
55+
networks:
56+
stream-network:
57+
driver: bridge
58+
59+
volumes:
60+
kafka_broker_volume:
61+
driver: local
62+
mysql_volume:
63+
driver: local

0 commit comments

Comments
 (0)