-
Notifications
You must be signed in to change notification settings - Fork 16
/
Copy pathbasic-hadoop-docker-compose.yaml
106 lines (100 loc) · 3.11 KB
/
basic-hadoop-docker-compose.yaml
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
version: "3"
services:
# Setting Up HDFS & YARN #
namenode:
image: mrugankray/namenode-spark-airflow-flume-zepplin:1.1
container_name: namenode
restart: always
ports:
- 9870:9870
- 9000:9000
- 8082:8082 # zeppelin ui
- 8080:8080 # spark master web ui
- 8081:8081 # spark slave web ui
- 4040:4040 # spark driver web ui
- 3000:3000 # airflow ui
volumes:
- hadoop_namenode:/hadoop/dfs/name
- hadoop_namenode_conda:/root/anaconda
- hadoop_namenode_spark:/opt/spark
- hadoop_namenode_zeppelin:/opt/zeppelin
- ./configs/zeppelin-site.xml:/opt/zeppelin/conf/zeppelin-site.xml
- ./configs/zeppelin-env.sh:/opt/zeppelin/conf/zeppelin-env.sh
- ./configs/namenode_bashrc.txt:/root/.bashrc
- ./configs/namenode_airflow.cfg:/root/airflow/airflow.cfg
- ./dags:/root/airflow/dags
- airflow_namenode:/root/airflow
- ./configs/namenode/flume/flume-env.sh:/opt/flume/conf/flume-env.sh
- ./flume_config/flume.conf:/opt/flume/conf/flume.conf
- hadoop_namenode_flume:/opt/flume
environment:
- CLUSTER_NAME=hadoop-learning
- CORE_CONF_fs_defaultFS=hdfs://namenode:9000
env_file:
- ./hadoop.env
datanode:
image: mrugankray/datanode-python:1.0
container_name: datanode
restart: always
volumes:
- hadoop_datanode:/hadoop/dfs/data
- hadoop_datanode_conda:/root/anaconda
- ./configs/datanode_bashrc.txt:/root/.bashrc
environment:
SERVICE_PRECONDITION: "namenode:9870"
CORE_CONF_fs_defaultFS: "hdfs://namenode:9000"
ports:
- "9864:9864"
env_file:
- ./hadoop.env
resourcemanager:
image: mrugankray/resourcemanager-python:1.0
container_name: resourcemanager
restart: always
volumes:
- hadoop_resourcemanager_conda:/root/anaconda
- ./configs/resourcemanager_bashrc.txt:/root/.bashrc
environment:
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864"
ports:
- "8088:8088"
env_file:
- ./hadoop.env
nodemanager:
image: mrugankray/nodemanager-python:1.0
container_name: nodemanager
restart: always
volumes:
- hadoop_nodemanager_conda:/root/anaconda
- ./configs/nodemanager_bashrc.txt:/root/.bashrc
environment:
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
ports:
- "8042:8042"
- "19888:19888" # to access job history
env_file:
- ./hadoop.env
historyserver:
image: bde2020/hadoop-historyserver:2.0.0-hadoop3.2.1-java8
container_name: historyserver
restart: always
environment:
SERVICE_PRECONDITION: "namenode:9000 namenode:9870 datanode:9864 resourcemanager:8088"
ports:
- "8188:8188"
volumes:
- hadoop_historyserver:/hadoop/yarn/timeline
env_file:
- ./hadoop.env
volumes:
hadoop_namenode:
hadoop_namenode_conda:
hadoop_namenode_spark:
hadoop_namenode_zeppelin:
hadoop_namenode_flume:
hadoop_datanode:
hadoop_datanode_conda:
hadoop_resourcemanager_conda:
hadoop_nodemanager_conda:
hadoop_historyserver:
airflow_namenode: