Skip to content

moa-devops/data-platform-iac

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modern Data Stack — Big Data Ecosystem com Docker e Terraform

Ambiente de estudo para exploração prática dos principais frameworks de uma plataforma moderna de dados, provisionado com IaC via Terraform na AWS e orquestrado com Docker Compose.

Nota: Este projeto foi replicado e adaptado a partir do trabalho do Prof. Fábio Jardim (PUC Minas), no curso de DevOps & Continuous Software Engineering. O objetivo foi reproduzir o ambiente de forma prática para aprofundar o entendimento das ferramentas envolvidas.

mds mds


Stack de Tecnologias

Camada Ferramentas
Infraestrutura Terraform, AWS EC2
Containerização Docker, Docker Compose
Ingestão Apache NiFi, Debezium (CDC), Kafka (Confluent)
Armazenamento MinIO (Data Lake), PostgreSQL
Processamento Apache Spark, Apache Hive, Trino
Orquestração Apache Airflow
Observabilidade Elasticsearch, Kibana
Visualização Apache Superset, Metabase, CloudBeaver

Pré-requisitos

A instância recomendada na AWS é t2.xlarge (16GB RAM). Na primeira execução, todas as imagens serão baixadas automaticamente.


Setup

1. Provisionar a infraestrutura com Terraform

cd Terraform
terraform init
terraform apply

2. Clonar o repositório na instância AWS

git clone https://github.com/moa-devops/mds.git
cd mds

Iniciando o Ambiente

É recomendado subir apenas os serviços do workload que será utilizado.

Data Lake + Spark

docker-compose up -d minio spark-worker

CDC com Kafka + PostgreSQL

docker-compose up -d minio kafka-broker kafka-connect nifi postgres

Todos os containers (requer 16GB+ de RAM)

docker-compose up -d

Comandos Úteis

# Verificar containers em execução
docker ps

# Parar um container
docker stop <nome>

# Parar todos os containers
docker stop $(docker ps -a -q)

# Remover todos os containers
docker rm $(docker ps -a -q)

# Inspecionar um container
docker container inspect <nome>

# Ver logs de um container
docker container logs <nome>

Acesso às Interfaces Web

Serviço Endereço
MinIO http://IP-da-AWS:9051
Jupyter Spark http://IP-da-AWS:8889
Apache Pinot http://IP-da-AWS:9000
NiFi http://IP-da-AWS:9090
Kafka Control Center http://IP-da-AWS:9021
Airflow http://IP-da-AWS:8180
Elasticsearch http://IP-da-AWS:9200
Metabase http://IP-da-AWS:3000
Kibana http://IP-da-AWS:5601
Superset http://IP-da-AWS:8088
Trino http://IP-da-AWS:8080
CloudBeaver http://IP-da-AWS:8010

Credenciais Padrão

Serviço Usuário Senha
Superset admin admin
Metabase admin@mds.com admin
PostgreSQL admin admin
MinIO admin admin
Pinot admin admin
Kibana admin admin
CloudBeaver admin admin

Documentação Oficial


Créditos

Projeto baseado no repositório do Prof. Fábio Jardim — PUC Minas, curso de DevOps & Continuous Software Engineering.

About

Modern Data Stack com Docker + Terraform na AWS (Kafka, Spark, Airflow, Trino, MinIO e mais)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors