Apache Airflow: Como instalar no Docker

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

  1. Docker Desktop: Certifique-se de ter o Docker Desktop instalado no seu sistema Windows. Você pode baixá-lo aqui.

  2. 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.

Data de Publicação: 08-07-2024

Categoria: Apache Airflow