-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
130 lines (119 loc) · 2.78 KB
/
docker-compose.yml
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
129
130
services:
hotel-reservation-app:
build: ./hotel-reservation-app
ports:
- "3000:3000"
environment:
PORT: 3000
DB_HOST: postgres
DB_PORT: 5432
DB_USER: postgres
DB_PASSWORD: password
DB_NAME: hotel
KAFKA_HOST: kafka
KAFKA_PORT: 9092
depends_on:
- kafka
- postgres
postgres:
image: postgres:latest
restart: always
ports:
- "5432:5432"
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: password
POSTGRES_DB: hotel
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
kafka:
image: wurstmeister/kafka:latest
ports:
- "9092:9092"
environment:
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_CREATE_TOPICS: "reservation-events:1:1"
depends_on:
- zookeeper
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8079:8080
environment:
DYNAMIC_CONFIG_ENABLED: "true"
depends_on:
- kafka
zookeeper:
image: wurstmeister/zookeeper:latest
ports:
- "2181:2181"
spark-master:
image: bitnami/spark:latest
ports:
- "7077:7077"
- "8080:8080"
environment:
SPARK_MODE: master
SPARK_MASTER_HOST: spark-master
depends_on:
- kafka
spark-worker-1:
image: bitnami/spark:latest
ports:
- "8081:8081"
environment:
SPARK_MODE: worker
SPARK_MASTER_URL: spark://spark-master:7077
depends_on:
- spark-master
spark-worker-2:
image: bitnami/spark:latest
ports:
- "8082:8081"
environment:
SPARK_MODE: worker
SPARK_MASTER_URL: spark://spark-master:7077
depends_on:
- spark-master
spark-analytics:
build: ./spark-analytics
environment:
SPARK_MASTER_URL: spark://spark-master:7077
ports:
- "4040:4040"
depends_on:
- kafka
- spark-master
- namenode
namenode:
image: bde2020/hadoop-namenode:2.0.0-hadoop3.2.1-java8
environment:
CLUSTER_NAME: hadoop
CORE_CONF_fs_defaultFS: hdfs://namenode:8020
CORE_CONF_hadoop_http_staticuser_user: root
CORE_CONF_hdfs_permissions_enabled: false
ports:
- "8020:8020"
- "9870:9870"
volumes:
- namenode-data:/hadoop/dfs/name
datanode:
image: bde2020/hadoop-datanode:2.0.0-hadoop3.2.1-java8
environment:
CORE_CONF_fs_defaultFS: hdfs://namenode:8020
CORE_CONF_hadoop_http_staticuser_user: root
ports:
- "9864:9864"
volumes:
- datanode-data:/hadoop/dfs/data
depends_on:
- namenode
volumes:
namenode-data:
datanode-data: