-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
128 lines (120 loc) · 3.04 KB
/
docker-compose.yml
File metadata and controls
128 lines (120 loc) · 3.04 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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
version: "3"
services:
pdi-zookeeper:
image: docker.io/bitnami/zookeeper:3.7
container_name: "pdi-zookeeper"
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
ports:
- "2181:2181"
expose:
- "2181"
volumes:
- "pdi_zookeeper_data:/bitnami"
pdi-kafka:
image: docker.io/bitnami/kafka:3
container_name: "pdi-kafka"
restart: on-failure
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=pdi-zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE=true
- KAFKA_LISTENERS=EXTERNAL://:29092,INTERNAL://:9092
- KAFKA_ADVERTISED_LISTENERS=INTERNAL://pdi-kafka:9092,EXTERNAL://localhost:29092
- KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_INTER_BROKER_LISTENER_NAME=INTERNAL
env_file:
- ./kafka/kafka.env
ports:
- "9092:9092"
- "29092:29092"
expose:
- "9092"
- "29092"
volumes:
- "pdi_kafka_data:/bitnami"
depends_on:
- pdi-zookeeper
pdi-nginx:
container_name: "pdi-nginx"
build:
context: "./nginx"
dockerfile: "Dockerfile"
env_file:
- "./nginx/nginx.env"
ports:
- "8000:8000"
expose:
- "8000"
volumes:
- pdi_nginx_logs:/nginx-logs:z
pdi-nginx-sniffer:
container_name: "pdi-nginx-sniffer"
build:
context: "./nginx-sniffer"
dockerfile: "Dockerfile"
env_file:
- "./nginx/nginx.env"
- "./kafka/kafka.env"
- "./nginx-sniffer/nginx-sniffer.env"
entrypoint: ["make", "start"]
volumes:
- pdi_nginx_logs:/nginx-logs:z
depends_on:
- pdi-zookeeper
- pdi-kafka
- pdi-nginx
pdi-spark-master:
container_name: "pdi-spark-master"
build:
context: "./spark"
dockerfile: "Dockerfile"
env_file:
- ./kafka/kafka.env
environment:
- SPARK_MODE=master
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
ports:
- "8080:8080"
volumes:
- pdi_spark_data:/tmp
pdi-spark-worker:
build:
context: "./spark"
dockerfile: "Dockerfile"
env_file:
- ./kafka/kafka.env
environment:
- SPARK_MODE=worker
- SPARK_MASTER_URL=spark://pdi-spark-master:7077
- SPARK_WORKER_MEMORY=2G
- SPARK_WORKER_CORES=4
- SPARK_RPC_AUTHENTICATION_ENABLED=no
- SPARK_RPC_ENCRYPTION_ENABLED=no
- SPARK_LOCAL_STORAGE_ENCRYPTION_ENABLED=no
- SPARK_SSL_ENABLED=no
volumes:
- pdi_spark_data:/tmp
pdi-bootstrapper:
container_name: "pdi-bootstrapper"
build:
context: "."
dockerfile: "./bootstrapper/Dockerfile"
env_file:
- "./spark/spark.env"
- "./kafka/kafka.env"
environment:
- PYTHONUNBUFFERED=1
entrypoint: ["python3", "-u", "bootstrapper.py"]
volumes:
pdi_zookeeper_data:
driver: local
pdi_kafka_data:
driver: local
pdi_nginx_logs:
driver: local
pdi_spark_data:
driver: local