-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.kafka.yaml
More file actions
47 lines (44 loc) · 1.54 KB
/
docker-compose.kafka.yaml
File metadata and controls
47 lines (44 loc) · 1.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
version: "3.9"
services:
zookeeper:
image: bitnami/zookeeper:3.9
container_name: zookeeper
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_HEAP_SIZE=256 # ZK 메모리 축소
ports:
- "2181:2181"
volumes:
- zookeeper_data:/bitnami/zookeeper
restart: unless-stopped
kafka1:
image: bitnami/kafka:3.6
container_name: kafka1
hostname: kafka1
depends_on:
- zookeeper
ports:
- "9092:9092" # 외부(호스트) 접속
# 내부용 19092는 도커 네트워크로만 쓰니 굳이 노출 불필요
environment:
- KAFKA_BROKER_ID=1
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_HEAP_OPTS=-Xms256m -Xmx512m # ★ JVM 힙 축소(저메모리 인스턴스용)
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_CFG_LISTENERS=CLIENT://:19092,EXTERNAL://:9092
- KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka1:19092,EXTERNAL://localhost:9092
- KAFKA_INTER_BROKER_LISTENER_NAME=CLIENT
# 단일 브로커이므로 복제 관련 값은 전부 1
- KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=1
- KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR=1
- KAFKA_CFG_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1
- KAFKA_CFG_TRANSACTION_STATE_LOG_MIN_ISR=1
- KAFKA_CFG_MIN_INSYNC_REPLICAS=1
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=false
volumes:
- kafka1_data:/bitnami/kafka
restart: unless-stopped
volumes:
zookeeper_data:
kafka1_data: