Esse projeto tem o propósito de oferecer um ambiente de desenvolvimento local baseado em Docker, de uma infraestrutura em cluster do Apache Spark integrado ao HDFS do Apache Hadoop. O objetivo é facilitar a criação e a utilização de clusters em modo standalone, sem a necessidade de instalar e configurar toda pilha de cada aplicação, tornando ideal para estudos e experimentos nos ambientes distribuídos do Spark e Hadoop.
- Docker
- Docker Compose
- Git
- Pelo menos 16 GB de RAM
- 20 GB de espaço livre em disco
- Ambiente Linux
Ativação pelo terminal do Linux:
git clone https://github.com/fab2112/Spark-Hadoop_Local-Docker-Cluster.git
cd Spark-Hadoop_Local-Docker-Cluster
docker-compose up --build -d
Desativação:
docker-compose down
Acessar pelo navegador:
Aplicação | URL | Descrição |
---|---|---|
JupyterLab-PySpark | 172.25.0.12:8888 | Interface Jupyter notebook com PySpark integrado |
Spark Master | 172.25.0.8:8080 | Spark Master node |
Spark Master | 172.25.0.12:4040 | Spark UI |
Spark Worker I | 172.25.0.9:8081 | Spark Worker node 1 |
Spark Worker II | 172.25.0.10:8081 | Spark Worker node 2 |
Spark Worker III | 172.25.0.11:8081 | Spark Worker node 3 |
Hadoop Namenode | 172.25.0.2:9870 | Hadoop Namenode 1 |
Hadoop Datanode I | 172.25.0.3:9864 | Hadoop Datanode 1 |
Hadoop Datanode II | 172.25.0.4:9864 | Hadoop Datanode 2 |
Hadoop Datanode III | 172.25.0.5:9864 | Hadoop Datanode 3 |
Hadoop Resource Manager | 172.25.0.6:8088 | Hadoop ResourceManager |
- Infraestrutura
Componente | Versão |
---|---|
Docker Engine | 20.10.0+ |
Docker Compose | 1.29.0+ |
- Languagens e aplicações
Spark | Hadoop | Scala | Python |
---|---|---|---|
3.5.0 | 3.3.5 | 2.12.18 | 3.11.8 |
- Imagens docker
App | Docker Tag |
---|---|
Apache Spark | bitnami/spark:3.5.0 |
Apache Hadoop | apache/hadoop:3.3.5 |
JupyterLab | jupyter/pyspark-notebook:latest |
- Hadoop Namenode: 172.25.0.2:9870
- Hadoop Datanode: 172.25.0.2:9870
- Hadoop HDFS: 172.25.0.2:9870
- Hadoop Resource Manager: 172.25.0.6:8088
- Spark Master: 172.25.0.8:8080
- Spark UI: 172.25.0.12:4040