Escalonar ambientes

Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3

Nesta página, descrevemos como escalonar ambientes do Cloud Composer.

Outras páginas sobre escalonamento:

Dimensionar vertical e horizontalmente

Opções de escalonamento horizontal:

  • Ajuste o número mínimo e máximo de workers.
  • Ajustar o número de programadores, processadores de DAG e acionadores.

Opções para escalonamento vertical:

  • Ajustar os parâmetros de escala e desempenho do worker, do programador, do acionador, do processador DAG e do servidor da Web.
  • Ajuste o tamanho do ambiente.

Limites de recurso

Componente Contagem mínima Contagem máxima vCPU mínima vCPU máxima Etapa mínima de vCPU Memória mínima (GB) Memória máxima (GB) Etapa mínima de memória (GB) Memória mínima por 1 vCPU (GB) Memória máxima por 1 vCPU (GB) Armazenamento mínimo (GB) Armazenamento máximo (GB) Etapa mínima de armazenamento (GB)
Programadores 1 3 0,5 1 0,5 0,5 8 0,25 1 8 0 100 1
Acionadores 0 10 0,5 1 0,5 0,5 8 0,25 1 8 - - -
Servidor da Web - - 0,5 32 0,5, 1 ou um múltiplo de 2 1 256 0,25 1 8 0 100 1
Workers 1 100 0,5 32 0,5, 1 ou um múltiplo de 2 1 256 0,25 1 8 0 100 1
Processadores de DAG 1 3 0,5 32 0,5, 1 ou um múltiplo de 2 1 256 0,25 1 8 0 100 1

Ajustar os parâmetros do worker

É possível definir o número mínimo e máximo de workers no ambiente. O Cloud Composer faz o escalonamento automático do ambiente dentro dos limites definidos. É possível ajustar esses limites a qualquer momento.

O Airflow pode especificar a quantidade de CPUs, memória e espaço em disco usados pelo Airflow funcionários do seu ambiente. Dessa forma, você pode aumentar a performance do seu ambiente, além do escalonamento horizontal fornecido usando vários workers.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros dos workers do Airflow:

    • No campo Número mínimo de workers, especifique o número de workers do Airflow que o ambiente precisa sempre executar. O número de de trabalho em seu ambiente não fique abaixo desse número durante operação regular do ambiente, mesmo que um número menor de os workers podem lidar com a carga.

    • No campo Número máximo de workers, especifique o número máximo de workers do Airflow que o ambiente pode executar. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.

    • Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para workers do Airflow. Cada worker usa na quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros de worker do Airflow estão disponíveis:

  • --min-workers: o número de workers do Airflow que seu ambiente precisa executar sempre. O número de workers no ambiente não fica abaixo do esse número, mesmo que um número menor de workers possa lidar com a carga.
  • --max-workers: o número máximo de workers do Airflow que o ambiente pode executar. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.
  • --worker-cpu: o número de CPUs para um worker do Airflow.
  • --worker-memory: a quantidade de memória de um worker do Airflow.
  • --worker-storage: a quantidade de espaço em disco para um worker do Airflow.

Execute o seguinte comando da CLI do Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --min-workers WORKERS_MIN \
  --max-workers WORKERS_MAX \
  --worker-cpu WORKER_CPU \
  --worker-memory WORKER_MEMORY \
  --worker-storage WORKER_STORAGE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória de um worker.
  • WORKER_STORAGE: o tamanho do disco de um worker.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --min-workers 2 \
  --max-workers 6 \
  --worker-cpu 1 \
  --worker-memory 2 \
  --worker-storage 2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique os campos que você quer atualizar. Por exemplo, para atualizar todos para workers, especifique Máscara config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount.

    2. No corpo da solicitação, especifique os novos parâmetros do worker.

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": WORKERS_MIN,
      "maxCount": WORKERS_MAX,
      "cpu": WORKER_CPU,
      "memoryGb": WORKER_MEMORY,
      "storageGb": WORKER_STORAGE
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória de um worker em GB.
  • WORKER_STORAGE: o tamanho do disco de um worker, em GB.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.worker.minCount,
// config.workloadsConfig.worker.maxCount
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGB

"config": {
  "workloadsConfig": {
    "worker": {
      "minCount": 2,
      "maxCount": 6,
      "cpu": 1,
      "memoryGb": 2,
      "storageGb": 2
    }
  }
}

Terraform

Os seguintes campos no bloco workloads_config.worker controlam o Parâmetros do worker do Airflow. Cada worker usa a quantidade especificada de recursos.

  • worker.min_count: o número de workers do Airflow que seu ambiente precisa executar sempre. O número de workers no ambiente não fica abaixo do esse número, mesmo que um número menor de workers possa lidar com a carga.
  • worker.max_count: o número máximo de workers do Airflow que seu onde o ambiente de execução pode ser executado. O número de workers no ambiente não ultrapassa esse número, mesmo que seja necessário um número maior de workers para processar a carga.
  • worker.cpu: o número de CPUs para um worker do Airflow.
  • O worker.memory_gb: a quantidade de memória para um worker do Airflow.
  • O worker.storage_gb: a quantidade de espaço em disco para um worker do Airflow.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      worker {
        min_count = WORKERS_MIN
        max_count = WORKERS_MAX
        cpu = WORKER_CPU
        memory_gb = WORKER_MEMORY
        storage_gb = WORKER_STORAGE
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WORKERS_MIN: o número mínimo de workers do Airflow.
  • WORKERS_MAX: o número máximo de workers do Airflow.
  • WORKER_CPU: o número de CPUs de um worker em unidades de vCPU.
  • WORKER_MEMORY: a quantidade de memória de um worker em GB.
  • WORKER_STORAGE: o tamanho do disco de um worker, em GB.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      worker {
        min_count = 2
        max_count = 6
        cpu = 1
        memory_gb = 2
        storage_gb = 2
      }
    }

  }
}

Ajustar parâmetros do programador

Seu ambiente pode executar mais de um programador do Airflow ao mesmo tempo. Use vários programadores para distribuir a carga entre várias instâncias do programador e tenha melhor desempenho e confiabilidade.

É possível ter até 3 programadores no ambiente.

Aumentar o número de programadores nem sempre melhora o desempenho do Airflow. Por exemplo, ter apenas um programador pode proporcionar um desempenho melhor do que com dois. Isso pode acontecer quando o programador extra não é utilizado e, portanto, consome recursos do seu ambiente sem contribuir com o desempenho geral. O desempenho real do programador depende do número de workers do Airflow, do número de DAGs e tarefas executados no ambiente e da configuração do Airflow e do ambiente.

Recomendamos começar com dois programadores e depois monitorar o desempenho do ambiente. Se você alterar o número de programadores, será possível escalonar o ambiente novamente para o número original de programadores.

Para mais informações sobre como configurar vários programadores, consulte a documentação do Airflow.

É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelos programadores do Airflow no seu ambiente. Dessa forma, você pode aumentar a performance do ambiente, além do escalonamento horizontal fornecido usando vários programadores.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros dos programadores do Airflow:

    • Na lista suspensa Número de programadores, selecione o número de programadores para seu ambiente.

    • Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para programadores do Airflow. Cada programador usa a quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros do programador do Airflow estão disponíveis:

  • --scheduler-count: o número de programadores no seu ambiente.

  • --scheduler-cpu: o número de CPUs para um programador do Airflow.

  • --scheduler-memory: a quantidade de memória para um programador do Airflow.

  • --scheduler-storage: a quantidade de espaço em disco para um programador do Airflow.

Execute o seguinte comando da CLI do Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --scheduler-cpu SCHEDULER_CPU \
  --scheduler-memory SCHEDULER_MEMORY \
  --scheduler-storage SCHEDULER_STORAGE \
  --scheduler-count SCHEDULER_COUNT

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --scheduler-cpu 0.5 \
  --scheduler-memory 2.5 \
  --scheduler-storage 2 \
  --scheduler-count 2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.scheduler para atualizar todos os parâmetros do programador ou apenas o número de programadores. Você também pode atualizar parâmetros individuais do programador, exceto count, especificando uma máscara. Por exemplo, config.workloadsConfig.scheduler.cpu.

    2. No corpo da solicitação, especifique os novos parâmetros do programador.

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": SCHEDULER_CPU,
      "memoryGb": SCHEDULER_MEMORY,
      "storageGb": SCHEDULER_STORAGE,
      "count": SCHEDULER_COUNT
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória em GB para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador, em GB.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler

"config": {
  "workloadsConfig": {
    "scheduler": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2,
      "count": 2
    }
  }
}

Terraform

Os campos a seguir no bloco workloads_config.scheduler controlam os parâmetros do programador do Airflow. Cada programador usa a quantidade especificada de do Google Cloud.

  • scheduler.count: o número de programadores no seu ambiente.

  • scheduler.cpu: o número de CPUs para um programador do Airflow.

  • scheduler.memory_gb: a quantidade de memória para um programador do Airflow.

  • scheduler.storage_gb: a quantidade de espaço em disco para um programador.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      scheduler {
        cpu = SCHEDULER_CPU
        memory_gb = SCHEDULER_MEMORY
        storage_gb = SCHEDULER_STORAGE
        count = SCHEDULER_COUNT
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.

  • SCHEDULER_CPU: o número de CPUs de um programador, em unidades de vCPU.

  • SCHEDULER_MEMORY: a quantidade de memória em GB para um programador.

  • SCHEDULER_STORAGE: o tamanho do disco de um programador, em GB.

  • SCHEDULER_COUNT: o número de programadores.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      scheduler {
        
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
        
        count = 2
      }
    }

  }
}

Ajustar os parâmetros do acionador

É possível definir o número de acionadores como zero, mas é necessário ter pelo menos uma instância de acionador no ambiente (ou pelo menos duas em ambientes altamente resilientes) para usar operadores adiáveis nos DAGs.

Dependendo da configuração modo de resiliência, há diferentes configurações possíveis para o número de acionadores:

  • Resiliência padrão: você pode ter até 10 acionadores.
  • Alta resiliência: pelo menos dois acionadores, até um máximo de 10.

Mesmo que o número de acionadores seja definido como zero, uma definição de pod de acionador é criada e fica visível no cluster do ambiente, mas nenhuma carga de trabalho de acionador é executada.

Também é possível especificar a quantidade de CPUs, memória e espaço em disco usados pelos acionadores do Airflow no seu ambiente. Dessa forma, você pode aumentar o desempenho em seu ambiente, além do escalonamento horizontal fornecido pelo uso de vários acionadores.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros dos acionadores do Airflow:

    1. Na seção Acionador, no campo Número de acionadores, faça o seguinte: insira o número de acionadores no seu ambiente.

      Se você definir pelo menos um acionador para o ambiente, use também os campos CPU e Memória para configurar a alocação de recursos para os acionadores.

    2. Nos campos CPU e Memória, especifique o número de CPUs, memória e armazenamento para acionadores do Airflow. Cada engatilhador usa a quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros do acionador do Airflow estão disponíveis:

  • --triggerer-count: o número de acionadores no ambiente.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0, ou um valor entre 2 e 10
  • --triggerer-cpu: o número de CPUs de um acionador do Airflow.

  • --triggerer-memory: a quantidade de memória para um fluxo engatilhador.

Execute o seguinte comando da CLI do Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --triggerer-count TRIGGERER_COUNT \
  --triggerer-cpu TRIGGERER_CPU \
  --triggerer-memory TRIGGERER_MEMORY

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • TRIGGERER_COUNT: o número de acionadores.
  • TRIGGERER_CPU: o número de CPUs de um acionador, em unidades de vCPU.
  • TRIGGERER_MEMORY: a quantidade de memória de um acionador.

Exemplos:

  • Escalone para quatro instâncias do acionador:
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 4 \
    --triggerer-cpu 1 \
    --triggerer-memory 1
  ```

- Disable triggerers by setting triggerer count to `0`. This operation
  doesn't require specifying CPU or memory for the triggerers.

```bash
  gcloud composer environments update example-environment \
    --location us-central1 \
    --triggerer-count 0
  ```

API

  1. No parâmetro de consulta updateMask, especifique a máscara config.workloadsConfig.triggerer.

  2. No corpo da solicitação, especifique os três parâmetros para acionadores.

"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": TRIGGERER_COUNT,
      "cpu": TRIGGERER_CPU,
      "memoryGb": TRIGGERER_MEMORY
    }
  }
}

Substitua:

  • TRIGGERER_COUNT: o número de acionadores.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0 ou um valor entre 2 e 10.
  • TRIGGERER_CPU: o número de CPUs de um acionador, em unidades de vCPU.

  • TRIGGERER_MEMORY: a quantidade de memória de um acionador.

Exemplos:

  • Para desativar os acionadores, defina a contagem do acionador como 0. Essa operação não exige a especificação de CPU ou memória para os acionadores.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Escalonar para quatro instâncias de acionador:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 4,
      "cpu": 1,
      "memoryGb": 1
    }
  }
}

Terraform

Os campos a seguir no bloco workloads_config.triggerer controlam os parâmetros do acionador do Airflow. Cada engatilhador usa a quantidade especificada de do Google Cloud.

  • triggerer.count: o número de acionadores no seu ambiente.

    • Para ambientes de resiliência padrão, use um valor entre 0 e 10.
    • Para ambientes altamente resilientes, use 0 ou um valor entre 2 e 10.
  • triggerer.cpu: o número de CPUs para um acionador do Airflow.

  • triggerer.memory_gb: a quantidade de memória para um acionador do Airflow.

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      triggerer {
        count = TRIGGERER_COUNT
        cpu = TRIGGERER_CPU
        memory_gb = TRIGGERER_MEMORY
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • TRIGGERER_COUNT: o número de acionadores.
  • TRIGGERER_CPU: o número de CPUs de um engatilhador, em unidades de vCPU.
  • TRIGGERER_MEMORY: a quantidade de memória em GB para um engatilhador.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      triggerer {
        count = 1
        cpu = 0.5
        memory_gb = 0.5
      }
    }

  }
}

Ajustar os parâmetros do processador de DAG

É possível especificar o número de processadores de DAG no seu ambiente e a quantidade de CPUs, memória e espaço em disco usados por cada processador.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do seu ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros para os processadores de DAG do Airflow:

    • Na lista suspensa Número de processadores de DAG, selecione o número de processadores de DAG para seu ambiente.

    • Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para processadores de DAG do Airflow. Cada DAG processador usa a quantidade especificada de recursos.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros do processador de DAG do Airflow estão disponíveis:

  • --dag-processor-count: o número de processadores de DAG.
  • --dag-processor-cpu: o número de CPUs para o processador DAG.
  • --dag-processor-memory: a quantidade de memória para o DAG processador.
  • --dag-processor-storage: a quantidade de espaço em disco para o processador DAG.

Execute o seguinte comando da Google Cloud CLI:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
    --dag-processor-count DAG_PROCESSOR_COUNT \
    --dag-processor-cpu DAG_PROCESSOR_CPU \
    --dag-processor-memory DAG_PROCESSOR_MEMORY \
    --dag-processor-storage DAG_PROCESSOR_STORAGE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • DAG_PROCESSOR_CPU: o número de CPUs do processador de DAG.
  • DAG_PROCESSOR_MEMORY: a quantidade de memória para o processador DAG.
  • DAG_PROCESSOR_STORAGE: a quantidade de espaço em disco para o DAG processador.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --dag-processor-count 2 \
  --dag-processor-cpu 0.5 \
  --dag-processor-memory 2 \
  --dag-processor-storage 1

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.dagProcessor para atualizar todos os parâmetros do processador de DAG, incluindo o número de processadores de DAG. Você pode também atualiza parâmetros individuais do processador de DAG especificando uma máscara. Por exemplo, config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb.

    2. No corpo da solicitação, especifique os novos parâmetros do processador de DAG.

"config": {
  "workloadsConfig": {
    "dagProcessor": {
      "count": DAG_PROCESSOR_COUNT,
      "cpu": DAG_PROCESSOR_CPU,
      "memoryGb": DAG_PROCESSOR_MEMORY,
      "storageGb": DAG_PROCESSOR_STORAGE
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • DAG_PROCESSOR_COUNT: o número de processadores de DAG.
  • DAG_PROCESSOR_CPU: o número de CPUs para o processador de DAG em vCPU de unidades de negócios.
  • DAG_PROCESSOR_MEMORY: a quantidade de memória para o processador DAG, em GB.
  • DAG_PROCESSOR_STORAGE: a quantidade de espaço em disco para o DAG em GB.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.dagProcessor

"config": {
  "workloadsConfig": {
    "scheduler": {
      "count": 2
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Os seguintes campos no bloco workloads_config.dag_processor controlam o Parâmetros do processador de DAG do Airflow. Cada processador de DAG usa a quantidade especificada de recursos.

  • dag_processor.count: o número de processadores de DAG no seu ambiente.
  • dag_processor.cpu: o número de CPUs para um processador DAG.
  • dag_processor.memory_gb: a quantidade de memória de um processador de DAG.
  • dag_processor.storage_gb a quantidade de espaço em disco para um processador de DAG.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      dag_processor {
        count = DAG_PROCESSOR_COUNT
        cpu = DAG_PROCESSOR_CPU
        memory_gb = DAG_PROCESSOR_MEMORY
        storage_gb = DAG_PROCESSOR_STORAGE
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • DAG_PROCESSOR_COUNT: o número de processadores de DAG.
  • DAG_PROCESSOR_CPU: o número de CPUs para o processador de DAG em vCPU de unidades de negócios.
  • DAG_PROCESSOR_MEMORY: a quantidade de memória para o processador DAG, em GB.
  • DAG_PROCESSOR_STORAGE: a quantidade de espaço em disco para o DAG em GB.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      dag_processor {
        count = 2
        cpu = 0.5
        memory_gb = 2
        storage_gb = 1
      }
    }

  }
}

Ajustar os parâmetros do servidor da Web

É possível especificar a quantidade de CPUs, memória e espaço em disco usados pelo servidor da Web do Airflow no seu ambiente. Dessa forma, você pode aumentar o desempenho interface do Airflow, por exemplo, para corresponder à demanda proveniente de um grande número usuários ou um grande número de DAGs gerenciados.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, faça o seguinte: Clique em Editar.

  5. No painel Configuração de cargas de trabalho, ajuste os parâmetros para servidor da Web. Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para o servidor da Web.

  6. Clique em Salvar.

gcloud

Os seguintes parâmetros do servidor da Web do Airflow estão disponíveis:

  • --web-server-cpu: o número de CPUs do servidor da Web do Airflow.
  • --web-server-memory: a quantidade de memória para a Web do Airflow servidor.
  • --web-server-storage: a quantidade de espaço em disco para o servidor da Web do Airflow.

Execute o seguinte comando da CLI do Google Cloud:

gcloud composer environments update ENVIRONMENT_NAME \
  --location LOCATION \
  --web-server-cpu WEB_SERVER_CPU \
  --web-server-memory WEB_SERVER_MEMORY \
  --web-server-storage WEB_SERVER_STORAGE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória do servidor da Web.
  • WEB_SERVER_STORAGE: a quantidade de memória do servidor da Web.

Exemplo:

gcloud composer environments update example-environment \
  --location us-central1 \
  --web-server-cpu 1 \
  --web-server-memory 2.5 \
  --web-server-storage 2

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.workloadsConfig.webServer para atualizar todos os servidores da Web parâmetros. Também é possível atualizar parâmetros individuais do servidor da Web especificando uma máscara para esses parâmetros: config.workloadsConfig.webServer.cpu, config.workloadsConfig.webServer.memoryGb e config.workloadsConfig.webServer.storageGb.

    2. No corpo da solicitação, especifique os novos parâmetros do servidor da Web.

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": WEB_SERVER_CPU,
      "memoryGb": WEB_SERVER_MEMORY,
      "storageGb": WEB_SERVER_STORAGE
    }
  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória do servidor da Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco do servidor da Web, em GB.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb

"config": {
  "workloadsConfig": {
    "webServer": {
      "cpu": 0.5,
      "memoryGb": 2.5,
      "storageGb": 2
    }
  }
}

Terraform

Os campos a seguir no bloco workloads_config.web_server controlam os parâmetros do servidor da Web.

  • web_server.cpu: o número de CPUs para o servidor da Web.
  • O web_server.memory_gb: a quantidade de memória para o servidor da Web.
  • web_server.storage_gb: a quantidade de espaço em disco para o servidor da Web.
resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    workloads_config {
      web_server {
        cpu = WEB_SERVER_CPU
        memory_gb = WEB_SERVER_MEMORY
        storage_gb = WEB_SERVER_STORAGE
      }
    }

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • WEB_SERVER_CPU: o número de CPUs do servidor da Web, em unidades de vCPU.
  • WEB_SERVER_MEMORY: a quantidade de memória do servidor da Web, em GB.
  • WEB_SERVER_STORAGE: o tamanho do disco do servidor da Web, em GB.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    workloads_config {
      web_server {
        cpu = 0.5
        memory_gb = 1.875
        storage_gb = 1
      }
    }

  }
}

Ajustar o tamanho do ambiente

O tamanho do ambiente controla os parâmetros de desempenho A infraestrutura do Cloud Composer que inclui, por exemplo, Banco de dados do Airflow.

Selecione um tamanho maior de ambiente se você quiser executar um grande número de DAGs e tarefas.

Console

  1. No console do Google Cloud, acesse a página Ambientes.

    Acessar "Ambientes"

  2. Na lista de ambientes, clique no nome do ambiente. A página Detalhes do ambiente é aberta.

  3. Acesse a guia Configuração do ambiente.

  4. No item Recursos > Configuração de cargas de trabalho, faça o seguinte: Clique em Editar.

  5. No item Recursos > Infraestrutura principal, clique em Editar.

  6. No painel Infraestrutura principal, no campo Tamanho do ambiente, especifique o tamanho do ambiente.

  7. Clique em Salvar.

gcloud

O argumento --environment-size controla o tamanho do ambiente:

gcloud composer environments update ENVIRONMENT_NAME \
    --location LOCATION \
    --environment-size ENVIRONMENT_SIZE

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • ENVIRONMENT_SIZE: small, medium ou large.

Exemplo:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. Crie uma solicitação de API environments.patch.

  2. Nesta solicitação:

    1. No parâmetro updateMask, especifique a máscara config.environmentSize.

    2. No corpo da solicitação, especifique o tamanho do ambiente.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Substitua:

  • ENVIRONMENT_SIZE: o tamanho do ambiente, ENVIRONMENT_SIZE_SMALL. ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemplo:

// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize

"config": {
  "environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}

Terraform

O campo environment_size no bloco config controla o ambiente tamanho:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "ENVIRONMENT_NAME"
  region = "LOCATION"

  config {

    environment_size = "ENVIRONMENT_SIZE"

  }
}

Substitua:

  • ENVIRONMENT_NAME: o nome do ambiente.
  • LOCATION: a região em que o ambiente está localizado.
  • ENVIRONMENT_SIZE: o tamanho do ambiente, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM ou ENVIRONMENT_SIZE_LARGE.

Exemplo:

resource "google_composer_environment" "example" {
  provider = google-beta
  name = "example-environment"
  region = "us-central1"

  config {

    environment_size = "ENVIRONMENT_SIZE_SMALL"

    }
  }
}

A seguir