Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Esta página descreve como dimensionar ambientes do Cloud Composer.
- Para informações sobre como funciona o dimensionamento do ambiente, consulte o artigo Dimensionamento do ambiente.
Dimensione vertical e horizontalmente
No Cloud Composer 1, não define recursos específicos de CPU e memória para os componentes do Cloud Composer e do Airflow, como trabalhadores e programadores. Em vez disso, especifica o número e o tipo de máquinas para os nós no cluster do seu ambiente.
Opções de escalabilidade horizontal:
- Ajuste o número de nós
- Ajuste o número de agendadores
Opções de dimensionamento vertical:
- Ajuste o tipo de máquina da instância do Cloud SQL
- Ajuste o tipo de máquina do servidor Web
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.
Se o seu ambiente usar o Airflow 2, pode especificar um número de programadores até ao número de nós no seu ambiente.
Ao dimensionar programadores, tenha em atenção as seguintes considerações:
Aumentar o número de programadores 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.
Para mais informações sobre a configuração de várias agendas, consulte a documentação do Airflow.
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 Recursos > Configuração de cargas de trabalho, clique em Editar.
No item Recursos > Número de agendadores, clique em Editar.
No painel Configuração do programador, no campo Número de programadores, especifique o número de programadores para o seu ambiente.
Clique em Guardar.
gcloud
Estão disponíveis os seguintes parâmetros do agendador do Airflow:
--scheduler-count: o número de programadores no seu ambiente.
Execute o seguinte comando da CLI Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Construa um pedido de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.workloadsConfig.schedulerCount.No corpo do pedido, especifique o número de agendadores para o seu ambiente.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.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": {
"count": 2
}
}
}
Terraform
Os campos seguintes no bloco workloads_config.scheduler controlam os parâmetros do programador do Airflow. Cada agendador usa a quantidade especificada de recursos.
scheduler.count: o número de programadores no seu ambiente.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.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 {
count = 2
}
}
}
}
Ajuste o número de nós
Pode alterar o número de nós no seu ambiente.
Este número corresponde ao número de trabalhadores do Airflow no seu ambiente. Além de executar trabalhadores do Airflow, os nós do ambiente também executam programadores do Airflow e outros componentes do ambiente.
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 Nós de trabalho > Número de nós, clique em Editar.
No painel Configuração dos nós de trabalho, no campo Número de nós, especifique o número de nós no seu ambiente.
Clique em Guardar.
gcloud
O argumento --node-count controla o número de nós no seu ambiente:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.NODE_COUNT: o número de nós. O número mínimo de nós é3.NODE_ZONE: a zona do Compute Engine para as VMs do seu ambiente.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Crie um pedido de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.nodeCount.No corpo do pedido, especifique o número de nós para o seu ambiente.
"config": {
"nodeCount": NODE_COUNT
}
Substitua o seguinte:
NODE_COUNT: o número de nós. O número mínimo de nós é3.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
O campo node_count no bloco node_config especifica o número de nós no seu ambiente.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Substitua o seguinte:
NODE_COUNT: o número de nós.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajuste o tipo de máquina da instância do Cloud SQL
Pode alterar o tipo de máquina da instância do Cloud SQL que armazena a base de dados do Airflow do seu ambiente.
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 > Cloud SQL machine type, clique em Edit.
No painel Configuração do Cloud SQL, na lista pendente Tipo de máquina do Cloud SQL, selecione o tipo de máquina para a instância do Cloud SQL do seu ambiente.
Clique em Guardar.
gcloud
Os argumentos --cloud-sql-machine-type controlam o tipo de máquina da instância do Cloud SQL no seu ambiente.
Execute o seguinte comando da CLI Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.SQL_MACHINE_TYPE: o tipo de máquina para a instância do Cloud SQL.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Crie um pedido de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.databaseConfig.machineType.No corpo do pedido, especifique o tipo de máquina para a instância do Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Substitua o seguinte:
SQL_MACHINE_TYPE: o tipo de máquina para a instância do Cloud SQL.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.databaseConfig.machineType
{
"config": {
"databaseConfig": {
"machineType": "db-n1-standard-2"
}
}
}
Terraform
O campo machine_type no bloco database_config especifica o tipo de máquina para a instância do Cloud SQL.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Substitua o seguinte:
SQL_MACHINE_TYPE: o tipo de máquina para a instância do Cloud SQL.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Ajuste o tipo de máquina do servidor Web
Pode alterar o tipo de máquina do servidor Web do Airflow do seu ambiente.
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 Recursos > Tipo de máquina do servidor Web, clique em Editar.
No painel Configuração do servidor Web, na lista pendente Tipo de máquina do servidor Web, selecione o tipo de máquina para o servidor Web do Airflow.
Clique em Guardar.
gcloud
Os argumentos --web-server-machine-type controlam o tipo de máquina da instância do servidor Web do Airflow no seu ambiente.
Execute o seguinte comando da CLI Google Cloud:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Substitua o seguinte:
ENVIRONMENT_NAME: o nome do ambiente.LOCATION: a região onde o ambiente está localizado.WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor Web do Airflow.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Crie um pedido de API
environments.patch.Nesta solicitação:
No parâmetro
updateMask, especifique a máscaraconfig.webServerConfig.machineType.No corpo do pedido, especifique o tipo de máquina para o servidor Web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Substitua o seguinte:
WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor Web do Airflow.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.webServerConfig.machineType
{
"config": {
"webServerConfig": {
"machineType": "composer-n1-webserver-2"
}
}
}
Terraform
O campo machine_type no bloco web_server_config especifica o tipo de máquina para a instância do servidor Web do Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Substitua o seguinte:
WS_MACHINE_TYPE: o tipo de máquina para a instância do servidor Web do Airflow.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
O que se segue?
- Escalabilidade e desempenho do ambiente
- Preços do Cloud Composer
- Atualize ambientes
- Arquitetura do ambiente