-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
139 lines (126 loc) · 3.02 KB
/
Copy pathdocker-compose.yml
File metadata and controls
139 lines (126 loc) · 3.02 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
129
130
131
132
133
134
135
136
137
138
139
# 10-node RainStorm cluster
# node1 is the introducer (SWIM) and leader (RainStorm ResourceManager)
# node2-10 are worker nodes
x-node-defaults: &node-defaults
image: rainstorm:latest
build:
context: .
dockerfile: Dockerfile
stdin_open: true # Keep stdin open so the interactive CLI stays alive
tty: true # Allocate a pseudo-TTY
environment:
# Set LOG_LEVEL=debug on the host to enable per-tuple diagnostics
- LOG_LEVEL=${LOG_LEVEL:-}
networks:
- rainstorm-net
volumes:
- ./data:/app/data:ro # Shared read-only input data
- ./logs:/app/logs # Shared log directory (write per-node)
restart: "no"
services:
node1:
<<: *node-defaults
hostname: node1
container_name: node1
ports:
- "8000:8000" # node port (exposed for external inspection)
- "8003:8003" # client port (for rainstorm-cli from host)
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node1:/app/hydfs_storage
node2:
<<: *node-defaults
hostname: node2
container_name: node2
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node2:/app/hydfs_storage
depends_on: [node1]
node3:
<<: *node-defaults
hostname: node3
container_name: node3
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node3:/app/hydfs_storage
depends_on: [node1]
node4:
<<: *node-defaults
hostname: node4
container_name: node4
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node4:/app/hydfs_storage
depends_on: [node1]
node5:
<<: *node-defaults
hostname: node5
container_name: node5
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node5:/app/hydfs_storage
depends_on: [node1]
node6:
<<: *node-defaults
hostname: node6
container_name: node6
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node6:/app/hydfs_storage
depends_on: [node1]
node7:
<<: *node-defaults
hostname: node7
container_name: node7
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node7:/app/hydfs_storage
depends_on: [node1]
node8:
<<: *node-defaults
hostname: node8
container_name: node8
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node8:/app/hydfs_storage
depends_on: [node1]
node9:
<<: *node-defaults
hostname: node9
container_name: node9
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node9:/app/hydfs_storage
depends_on: [node1]
node10:
<<: *node-defaults
hostname: node10
container_name: node10
volumes:
- ./data:/app/data:ro
- ./logs:/app/logs
- hydfs-node10:/app/hydfs_storage
depends_on: [node1]
networks:
rainstorm-net:
driver: bridge
volumes:
hydfs-node1:
hydfs-node2:
hydfs-node3:
hydfs-node4:
hydfs-node5:
hydfs-node6:
hydfs-node7:
hydfs-node8:
hydfs-node9:
hydfs-node10: