Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve como dimensionar ambientes do Cloud Composer.
Outras páginas sobre a escala:
- Para ver um guia sobre como selecionar parâmetros de escala e desempenho ideais para o seu ambiente, consulte o artigo Otimize o desempenho e os custos do ambiente.
- Para informações sobre como funciona a escala de ambientes, consulte o artigo Escala de ambientes.
Aumente a escala vertical e horizontalmente
Opções de escalabilidade horizontal:
- Ajuste o número mínimo e máximo de trabalhadores.
- Ajuste o número de programadores, processadores de DAGs e acionadores.
Opções de dimensionamento vertical:
- Ajuste os parâmetros de escala e desempenho do trabalhador, do programador, do acionador, do processador de DAG e do servidor Web.
- Ajuste o tamanho do ambiente.
Limites de recursos
Componente | Contagem mínima | Contagem máxima | vCPU mínimo | vCPU máximo | Intervalo mínimo de vCPU | Memória mínima (GB) | Memória máxima (GB) | Passo mínimo 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) | Passo mínimo de armazenamento (GB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Programadores | 1 | 3 | 0,5 | 1 | 0,5 | 1 | 8 | 0,25 | 1 | 8 | 0 | 100 | 1 |
Acionadores | 0 | 10 | 0,5 | 1 | 0,5 | 1 | 8 | 0,25 | 1 | 8 | - | - | - |
Servidor Web | - | - | 1 (mínimo suportado) | 4 | 0, 5, 1 ou um múltiplo de 2 | 2 | 32 | 0,25 | 1 | 8 | 0 | 100 | 1 |
Trabalhadores | 1 | 100 | 0,5 | 32 | 0, 5, 1 ou um múltiplo de 2 | 1 | 256 | 0,25 | 1 | 8 | 0 | 100 | 1 |
Processadores DAG | 1 | 3 | 0,5 | 32 | 0, 5, 1 ou um múltiplo de 2 | 1 | 256 | 0,25 | 1 | 8 | 0 | 100 | 1 |
Ajuste os parâmetros dos trabalhadores
Pode definir o número mínimo e máximo de trabalhadores para o seu ambiente. O Cloud Composer dimensiona automaticamente o seu ambiente dentro dos limites definidos. Pode ajustar estes limites em qualquer altura.
Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos trabalhadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalamento horizontal fornecido através da utilização de vários trabalhadores.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No painel Configuração das cargas de trabalho, ajuste os parâmetros dos trabalhadores do Airflow:
No campo Número mínimo de trabalhadores, especifique o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não desce abaixo deste número durante o funcionamento normal do ambiente, mesmo que um número inferior de trabalhadores consiga processar a carga.
No campo Número máximo de trabalhadores, especifique o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores para processar a carga.
Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para os trabalhadores do Airflow. Cada trabalhador usa a quantidade especificada de recursos.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do worker do Airflow:
--min-workers
: o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não é inferior a este número, mesmo que um número inferior de trabalhadores consiga processar a carga.--max-workers
: o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores para processar a carga.--worker-cpu
: o número de CPUs para um worker do Airflow.--worker-memory
: a quantidade de memória para um trabalhador do Airflow.--worker-storage
: a quantidade de espaço em disco para um trabalhador do Airflow.
Execute o seguinte comando da CLI 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WORKERS_MIN
: o número mínimo de trabalhadores do Airflow.WORKERS_MAX
: o número máximo de trabalhadores do Airflow.WORKER_CPU
: o número de CPUs para um trabalhador, em unidades de vCPU.WORKER_MEMORY
: a quantidade de memória para um trabalhador.WORKER_STORAGE
: o tamanho do disco para um trabalhador.
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
Construa um pedido de API
environments.patch
.Neste pedido:
No parâmetro
updateMask
, especifique os campos que quer atualizar. Por exemplo, para atualizar todos os parâmetros dos trabalhadores, especifique a máscaraconfig.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
.No corpo do pedido, especifique os novos parâmetros do trabalhador.
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX,
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WORKERS_MIN
: o número mínimo de trabalhadores do Airflow.WORKERS_MAX
: o número máximo de trabalhadores do Airflow.WORKER_CPU
: o número de CPUs para um trabalhador, em unidades de vCPU.WORKER_MEMORY
: a quantidade de memória para um trabalhador, em GB.WORKER_STORAGE
: o tamanho do disco para um trabalhador, 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 campos abaixo no bloco workloads_config.worker
controlam os parâmetros do Airflow worker. Cada trabalhador usa a quantidade especificada de recursos.
worker.min_count
: o número de trabalhadores do Airflow que o seu ambiente tem de executar sempre. O número de trabalhadores no seu ambiente não é inferior a este número, mesmo que um número inferior de trabalhadores consiga processar a carga.worker.max_count
: o número máximo de trabalhadores do Airflow que o seu ambiente pode executar. O número de trabalhadores no seu ambiente não excede este número, mesmo que seja necessário um número superior de trabalhadores 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 trabalhador 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WORKERS_MIN
: o número mínimo de trabalhadores do Airflow.WORKERS_MAX
: o número máximo de trabalhadores do Airflow.WORKER_CPU
: o número de CPUs para um trabalhador, em unidades de vCPU.WORKER_MEMORY
: a quantidade de memória para um trabalhador, em GB.WORKER_STORAGE
: o tamanho do disco para um trabalhador, 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
}
}
}
}
Ajuste os parâmetros do programador
O seu ambiente pode executar mais do que um programador do Airflow em simultâneo. Use vários agendadores para distribuir a carga entre várias instâncias do agendador para um melhor desempenho e fiabilidade.
Pode ter até 3 programadores no seu ambiente.
Ao dimensionar programadores, tenha em atenção as seguintes considerações:
Em ambientes do Cloud Composer 3, os processadores DAG do Airflow são executados como componentes do ambiente separados dos programadores. Uma vez que o processador de DAGs transfere o processamento de DAGs do programador, é recomendável redistribuir os recursos anteriormente atribuídos aos programadores do Airflow.
Uma vez que os programadores não analisam os DAGs no Cloud Composer 3, têm limites de recursos mais baixos para CPU e memória do que no Cloud Composer 2.
O aumento do número de agendadores nem sempre melhora o desempenho do Airflow.
Por exemplo, isto pode acontecer quando o agendador adicional não é usado e consome recursos do seu ambiente sem contribuir para o desempenho geral. O desempenho real do programador depende do número de trabalhadores do Airflow, do número de DAGs e tarefas que são executados no seu ambiente, e da configuração do Airflow e do ambiente.
Recomendamos que comece com dois programadores e, em seguida, monitorize o desempenho do seu ambiente. Se alterar o número de programadores, pode sempre reduzir a escala do seu ambiente para o número original de programadores.
Para mais informações sobre a configuração de várias programações, consulte a documentação do Airflow.
Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos programadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalonamento horizontal fornecido através da utilização de vários agendadores.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No painel Configuração de cargas de trabalho, ajuste os parâmetros dos programadores do Airflow:
Na lista pendente Número de agendadores, selecione o número de agendadores para o seu ambiente.
Nos campos CPU, memória e armazenamento, especifique o número de CPUs, memória e armazenamento para os programadores do Airflow. Cada agendador usa a quantidade especificada de recursos.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do programador do Airflow:
--scheduler-count
: o número de agendadores 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 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.SCHEDULER_CPU
: o número de CPUs para um programador, em unidades de vCPU.SCHEDULER_MEMORY
: a quantidade de memória para um agendador.SCHEDULER_STORAGE
: o tamanho do disco para 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
Construa um pedido de API
environments.patch
.Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.workloadsConfig.scheduler
para atualizar todos os parâmetros do agendador ou apenas o número de agendadores. Também pode atualizar parâmetros do agendador individuais, excetocount
, especificando uma máscara. Por exemplo,config.workloadsConfig.scheduler.cpu
.No corpo do pedido, especifique os novos parâmetros do programador.
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE,
"count": SCHEDULER_COUNT
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.SCHEDULER_CPU
: o número de CPUs para um programador, em unidades de vCPU.SCHEDULER_MEMORY
: a quantidade de memória para um agendador, em GB.SCHEDULER_STORAGE
: o tamanho do disco para 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 seguintes no bloco workloads_config.scheduler
controlam os parâmetros do agendador do Airflow. Cada agendador usa a quantidade especificada de recursos.
scheduler.count
: o número de agendadores 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.SCHEDULER_CPU
: o número de CPUs para um programador, em unidades de vCPU.SCHEDULER_MEMORY
: a quantidade de memória para um agendador, em GB.SCHEDULER_STORAGE
: o tamanho do disco para 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
}
}
}
}
Ajuste os parâmetros do acionador
Pode definir o número de acionadores como zero, mas precisa de, pelo menos, uma instância de acionador no seu ambiente (ou, pelo menos, duas em ambientes altamente resilientes) para usar operadores adiáveis nos seus DAGs.
Consoante o modo de resiliência do seu ambiente, existem diferentes configurações possíveis para o número de acionadores:
- Resiliência padrão: pode executar até 10 acionadores.
- Resiliência elevada: pelo menos 2 acionadores, até um máximo de 10 acionadores.
Mesmo que o número de acionadores esteja definido como zero, é criada uma definição de pod de acionador e fica visível no cluster do seu ambiente, mas não são executadas cargas de trabalho de acionador reais.
Também pode especificar a quantidade de CPUs, memória e espaço em disco usados pelos acionadores do Airflow no seu ambiente. Desta forma, pode aumentar o desempenho do seu ambiente, além do escalonamento horizontal fornecido através da utilização de vários acionadores.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No painel Configuração de cargas de trabalho, ajuste os parâmetros dos acionadores do Airflow:
Na secção Acionador, no campo Número de acionadores, introduza o número de acionadores no seu ambiente.
Se definir, pelo menos, um acionador para o seu ambiente, use também os campos CPU e Memória para configurar a atribuição de recursos para os acionadores.
Em CPU e Memória, especifique o número de CPUs, memória e armazenamento para os acionadores do Airflow. Cada acionador usa a quantidade especificada de recursos.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do acionador do Airflow:
--triggerer-count
: o número de acionadores no seu ambiente.- Para ambientes de resiliência padrão, use um valor entre
0
e10
. - Para ambientes altamente resilientes, use
0
, ou um valor entre2
e10
.
- Para ambientes de resiliência padrão, use um valor entre
--triggerer-cpu
: o número de CPUs para um acionador do Airflow.--triggerer-memory
: a quantidade de memória para um acionador do Airflow.
Execute o seguinte comando da CLI Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.TRIGGERER_COUNT
: o número de acionadores.TRIGGERER_CPU
: o número de CPUs para um acionador, em unidades de vCPU.TRIGGERER_MEMORY
: a quantidade de memória para um acionador.
Exemplos:
- Dimensionar para quatro instâncias de acionador:
gcloud composer environments update example-environment \
--location us-central1 \
--triggerer-count 4 \
--triggerer-cpu 1 \
--triggerer-memory 1
- Desative os acionadores definindo a contagem de acionadores como
0
. Esta operação não requer a especificação da CPU nem da memória para os acionadores.
gcloud composer environments update example-environment \
--location us-central1 \
--triggerer-count 0
API
No parâmetro de consulta
updateMask
, especifique a máscaraconfig.workloadsConfig.triggerer
.No corpo do pedido, especifique todos os três parâmetros para os acionadores.
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
Substitua o seguinte:
TRIGGERER_COUNT
: o número de acionadores.- Para ambientes de resiliência padrão, use um valor entre
0
e10
. - Para ambientes altamente resilientes, use
0
, ou um valor entre2
e10
.
- Para ambientes de resiliência padrão, use um valor entre
TRIGGERER_CPU
: o número de CPUs para um acionador, em unidades de vCPU.TRIGGERER_MEMORY
: a quantidade de memória para um acionador.
Exemplos:
- Desative os acionadores definindo a contagem de acionadores como
0
. Esta operação não requer a especificação da CPU nem da 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
}
}
}
- Dimensionar 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 seguintes no bloco workloads_config.triggerer
controlam os parâmetros do acionador do Airflow. Cada acionador usa a quantidade especificada de recursos.
triggerer.count
: o número de acionadores no seu ambiente.- Para ambientes de resiliência padrão, use um valor entre
0
e10
. - Para ambientes altamente resilientes, use
0
, ou um valor entre2
e10
.
- Para ambientes de resiliência padrão, use um valor entre
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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.TRIGGERER_COUNT
: o número de acionadores.TRIGGERER_CPU
: o número de CPUs para um acionador, em unidades de vCPU.TRIGGERER_MEMORY
: a quantidade de memória para um acionador, em GB.
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
}
}
}
}
Ajuste os parâmetros do processador de DAG
Pode especificar o número de processadores DAG no seu ambiente e a quantidade de CPUs, memória e espaço em disco usados por cada processador DAG. Em 3 ambientes do Cloud Composer, o processador DAG do Airflow é executado como um componente do ambiente separado.
Consoante o modo de resiliência do seu ambiente, existem diferentes configurações possíveis para o número de processadores DAG:
- Resiliência padrão: pode executar até 3 processadores DAG.
- Resiliência elevada: pelo menos, 2 processadores DAG, até um máximo de 3 processadores DAG.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No painel Configuração das cargas de trabalho, ajuste os parâmetros dos processadores de DAGs do Airflow:
Na lista pendente Número de processadores DAG, selecione o número de processadores DAG para o seu ambiente.
Os ambientes altamente resilientes requerem, pelo menos, dois processadores DAG.
Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, memória e armazenamento para processadores DAG do Airflow. Cada processador DAG usa a quantidade especificada de recursos.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do processador DAG do Airflow:
--dag-processor-count
: o número de processadores DAG.
Os ambientes altamente resilientes requerem, pelo menos, dois processadores DAG.
--dag-processor-cpu
: o número de CPUs para o processador 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 processador DAG.
Execute o seguinte comando da CLI Google Cloud:
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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.DAG_PROCESSOR_COUNT
: o número de processadores DAG.DAG_PROCESSOR_CPU
: o número de CPUs para o processador 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 processador DAG.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--dag-processor-count 1 \
--dag-processor-cpu 0.5 \
--dag-processor-memory 2 \
--dag-processor-storage 1
API
Construa um pedido de API
environments.patch
.Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.workloadsConfig.dagProcessor
para atualizar todos os parâmetros do processador DAG, incluindo o número de processadores DAG. Também pode atualizar os parâmetros do processador DAG individualmente especificando uma máscara. Por exemplo,config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb
.No corpo do pedido, especifique os novos parâmetros do processador DAG.
"config": {
"workloadsConfig": {
"dagProcessor": {
"count": DAG_PROCESSOR_COUNT,
"cpu": DAG_PROCESSOR_CPU,
"memoryGb": DAG_PROCESSOR_MEMORY,
"storageGb": DAG_PROCESSOR_STORAGE
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.DAG_PROCESSOR_COUNT
: o número de processadores DAG.DAG_PROCESSOR_CPU
: o número de CPUs para o processador DAG, em unidades de vCPU.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 processador 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 campos no bloco workloads_config.dag_processor
controlam os parâmetros do processador DAG do Airflow. Cada processador DAG usa a quantidade especificada de recursos.
dag_processor.count
: o número de processadores 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 para um processador DAG.dag_processor.storage_gb
a quantidade de espaço em disco para um processador 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.DAG_PROCESSOR_COUNT
: o número de processadores DAG.DAG_PROCESSOR_CPU
: o número de CPUs para o processador DAG, em unidades de vCPU.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 processador DAG, em GB.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
dag_processor {
count = 1
cpu = 0.5
memory_gb = 2
storage_gb = 1
}
}
}
}
Ajuste os parâmetros do servidor Web
Pode especificar a quantidade de CPUs, memória e espaço em disco usados pelo servidor Web do Airflow no seu ambiente. Deste modo, pode dimensionar o desempenho da IU do Airflow, por exemplo, para corresponder à procura proveniente de um grande número de utilizadores ou de um grande número de DAGs geridos.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No painel Configuração das cargas de trabalho, ajuste os parâmetros do servidor Web. Nos campos CPU, Memória e Armazenamento, especifique o número de CPUs, a memória e o armazenamento para o servidor Web.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do servidor Web do Airflow:
--web-server-cpu
: o número de CPUs para o servidor Web do Airflow.--web-server-memory
: a quantidade de memória para o servidor Web do Airflow.--web-server-storage
: a quantidade de espaço em disco para o servidor Web do Airflow.
Execute o seguinte comando da CLI 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WEB_SERVER_CPU
: o número de CPUs para o servidor Web, em unidades de vCPU.WEB_SERVER_MEMORY
: a quantidade de memória para o servidor Web.WEB_SERVER_STORAGE
: a quantidade de memória para o servidor 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
Construa um pedido de API
environments.patch
.Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.workloadsConfig.webServer
para atualizar todos os parâmetros do servidor Web. Também pode atualizar parâmetros individuais do servidor Web especificando uma máscara para esses parâmetros:config.workloadsConfig.webServer.cpu
,config.workloadsConfig.webServer.memoryGb
,config.workloadsConfig.webServer.storageGb
.No corpo do pedido, especifique os novos parâmetros do servidor Web.
"config": {
"workloadsConfig": {
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WEB_SERVER_CPU
: o número de CPUs para o servidor Web, em unidades de vCPU.WEB_SERVER_MEMORY
: a quantidade de memória para o servidor Web, em GB.WEB_SERVER_STORAGE
: o tamanho do disco para o servidor 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 seguintes no bloco workloads_config.web_server
controlam os parâmetros do servidor Web.
- O
web_server.cpu
: o número de CPUs para o servidor Web. - O
web_server.memory_gb
: a quantidade de memória para o servidor Web. - O
web_server.storage_gb
: a quantidade de espaço em disco para o servidor 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 o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.WEB_SERVER_CPU
: o número de CPUs para o servidor Web, em unidades de vCPU.WEB_SERVER_MEMORY
: a quantidade de memória para o servidor Web, em GB.WEB_SERVER_STORAGE
: o tamanho do disco para o servidor 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
}
}
}
}
Ajuste o tamanho do ambiente
O tamanho do ambiente controla os parâmetros de desempenho da infraestrutura do Cloud Composer gerida, que inclui, por exemplo, a base de dados do Airflow.
Pondere selecionar um tamanho do ambiente maior se quiser executar um grande número de DAGs e tarefas.
Consola
Na Google Cloud consola, aceda à página Ambientes.
Na lista de ambientes, clique no nome do seu ambiente. É apresentada a página Detalhes do ambiente.
Aceda ao separador Configuração do ambiente.
No item Resources > Workloads configuration, clique em Edit.
No item Recursos > Infraestrutura principal, clique em Editar.
No painel Infraestrutura principal, no campo Tamanho do ambiente, especifique o tamanho do ambiente.
Clique em Guardar.
gcloud
O argumento --environment-size
controla o tamanho do ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.ENVIRONMENT_SIZE
:small
,medium
oularge
.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Crie um pedido de API
environments.patch
.Neste pedido:
No parâmetro
updateMask
, especifique a máscaraconfig.environmentSize
.No corpo do pedido, especifique o tamanho do ambiente.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
Substitua o seguinte:
ENVIRONMENT_SIZE
: o tamanho do ambiente,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
ouENVIRONMENT_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 tamanho do ambiente:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
Substitua o seguinte:
ENVIRONMENT_NAME
: o nome do ambiente.LOCATION
: a região onde o ambiente está localizado.ENVIRONMENT_SIZE
: o tamanho do ambiente,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
ouENVIRONMENT_SIZE_LARGE
.
Exemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}
O que se segue?
- Escalabilidade e desempenho do ambiente
- Preços do Cloud Composer
- Atualize ambientes
- Arquitetura do ambiente