Instalar o Apache Airflow usando Docker em um ambiente Windows é uma boa escolha, pois isola o Airflow e suas dependências em contêineres, simplificando a instalação e a configuração. Siga os passos abaixo para instalar o Airflow usando Docker no Windows:
Pré-requisitos
-
Docker Desktop: Certifique-se de ter o Docker Desktop instalado no seu sistema Windows. Você pode baixá-lo aqui.
-
Git: Será útil para clonar repositórios, caso necessário. Você pode baixá-lo aqui.
Passos para Instalação
1. Instalar Docker Desktop
- Baixe e instale o Docker Desktop: Siga as instruções no site oficial do Docker.
- Habilite o WSL 2 (Windows Subsystem for Linux): Durante a instalação do Docker, certifique-se de habilitar a opção para usar o WSL 2. O Docker Desktop requer o WSL 2 no Windows.
2. Configurar Airflow usando Docker Compose
Passo 2.1: Criar uma pasta de projeto
Crie uma nova pasta para o seu projeto Airflow. Por exemplo, airflow-docker.
Passo 2.2: Criar arquivos necessários
Dentro dessa pasta, crie um arquivo docker-compose.yaml com o seguinte conteúdo:
version: '3'
services:
postgres:
image: postgres:13
environment:
POSTGRES_USER: airflow
POSTGRES_PASSWORD: airflow
POSTGRES_DB: airflow
webserver:
image: apache/airflow:2.5.0
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
AIRFLOW__CORE__FERNET_KEY: your_fernet_key_here
AIRFLOW__CORE__LOAD_EXAMPLES: 'True'
depends_on:
- postgres
ports:
- "8080:8080"
command: webserver
scheduler:
image: apache/airflow:2.5.0
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
AIRFLOW__CORE__FERNET_KEY: your_fernet_key_here
depends_on:
- postgres
command: scheduler
init:
image: apache/airflow:2.5.0
environment:
AIRFLOW__CORE__EXECUTOR: LocalExecutor
AIRFLOW__CORE__SQL_ALCHEMY_CONN: postgresql+psycopg2://airflow:airflow@postgres/airflow
AIRFLOW__CORE__FERNET_KEY: your_fernet_key_here
depends_on:
- postgres
command: bash -c "airflow db init && airflow users create --username admin --password admin --firstname Admin --lastname Admin --role Admin --email admin@example.com"
Nota: Substitua your_fernet_key_here por uma chave Fernet gerada. Você pode gerar uma chave Fernet executando o seguinte comando Python:
from cryptography.fernet import Fernet
Fernet.generate_key().decode()
Passo 2.3: Inicializar o banco de dados
No terminal, navegue até a pasta do projeto e execute:
docker-compose up init
Passo 2.4: Iniciar o Airflow
Depois de inicializar o banco de dados, inicie o Airflow executando:
docker-compose up
3. Acessar a Interface Web do Airflow
Abra seu navegador e acesse http://localhost:8080. Use as credenciais admin/admin para fazer login.
4. Parar os Serviços
Para parar os serviços do Airflow, use:
docker-compose down
O Apache Airflow está pronto para ser usado com o Docker no Windows ejá é possível começar a criar e gerenciar suas DAGs (Directed Acyclic Graphs) diretamente no Airflow.