Cloud Composer 1 | Cloud Composer 2
Nesta página, descrevemos como escalonar ambientes do Cloud Composer no Cloud Composer 1.
Para mais informações sobre como o escalonamento do ambiente funciona, consulte Escalonamento do ambiente.
Escalonar vertical e horizontalmente
No Cloud Composer 1, você não define recursos específicos de CPU e memória para componentes do Cloud Composer e Airflow, como workers e programadores. Em vez disso, você especifica o número e o tipo de máquinas para os nós no cluster do seu ambiente.
Opções de escalonamento horizontal:
Opções para escalonamento vertical:
Ajustar o número de nós
É possível alterar o número de nós no ambiente.
Esse número corresponde ao número de workers do Airflow no seu ambiente. Além de executar workers do Airflow, os nós de ambiente também executam os programadores e outros componentes do ambiente.
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Nós de trabalho > Contagem de nós, clique em Editar.
Na caixa de diálogo Configuração de nós de trabalho, no campo Contagem de nós, especifique o número de nós no seu ambiente.
Clique em Save.
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:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;NODE_COUNT
pelo número de nós; O número mínimo de nós é3
.NODE_ZONE
pela zona do Compute Engine para as VMs do ambiente.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.nodeCount
.No corpo da solicitação, especifique o número de nós do seu ambiente.
"config": {
"nodeCount": NODE_COUNT
}
Substitua:
NODE_COUNT
pelo 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:
NODE_COUNT
pelo número de nós;
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Ajustar o número de programadores
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 especificar vários programadores até o número de nós 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.
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Número de programadores, clique em Editar.
Na caixa de diálogo Configuração do programador, no campo Número de programadores, especifique o número de programadores para o seu ambiente.
Clique em Save.
gcloud
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SCHEDULER_COUNT
pelo número de programadores.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.softwareConfig.schedulerCount
.No corpo da solicitação, especifique o número de nós do seu ambiente.
{
"config": {
"softwareConfig": {
"schedulerCount": SCHEDULER_COUNT
}
}
Substitua:
SCHEDULER_COUNT
pelo número de programadores.
Exemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.softwareConfig.schedulerCount
{
"config": {
"softwareConfig": {
"schedulerCount": 2
}
}
Terraform
O campo scheduler_count
no bloco software_config
especifica o
número de programadores no seu ambiente.
Esse campo está disponível apenas nos ambientes do Cloud Composer 1 que usam o Airflow 2.
resource "google_composer_environment" "example" {
config {
software_config {
scheduler_count = SCHEDULER_COUNT
}
}
}
Substitua:
SCHEDULER_COUNT
pelo número de programadores.
Exemplo:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
software_config {
scheduler_count = 2
}
}
}
Ajustar o tipo de máquina da instância do Cloud SQL
É possível alterar o tipo de máquina da instância do Cloud SQL que armazena o banco de dados do Airflow do seu ambiente.
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Tipo de máquina do Cloud SQL, clique em Editar.
Na caixa de diálogo Configuração do Cloud SQL, na lista suspensa 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 Save.
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 Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;SQL_MACHINE_TYPE
pelo tipo de máquina da 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 uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.databaseConfig.machineType
.No corpo da solicitação, especifique o tipo de máquina para a instância do Cloud SQL.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Substitua:
SQL_MACHINE_TYPE
pelo 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:
SQL_MACHINE_TYPE
pelo 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"
}
}
Ajustar o tipo de máquina do servidor da Web
É possível alterar o tipo de máquina do servidor da Web do Airflow do seu ambiente.
Console
Acesse a página Ambientes no console do Google Cloud:
Selecione o ambiente.
Acesse a guia Configuração do ambiente.
No item Recursos > Tipo de máquina do servidor da Web, clique em Editar.
Na caixa de diálogo Configuração do servidor da Web, na lista suspensa Tipo de máquina do servidor da Web, selecione o tipo de máquina do servidor da Web do Airflow.
Clique em Save.
gcloud
Os argumentos --web-server-machine-type
controlam o tipo de máquina da
instância do servidor da Web do Airflow no ambiente.
Execute o seguinte comando da Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Substitua:
ENVIRONMENT_NAME
pelo nome do ambienteLOCATION
pela região em que o ambiente está localizado;WS_MACHINE_TYPE
pelo tipo de máquina para a instância do servidor da Web do Airflow.
Exemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Crie uma solicitação de API
environments.patch
.Nesta solicitação:
No parâmetro
updateMask
, especifique a máscaraconfig.webServerConfig.machineType
.No corpo da solicitação, especifique o tipo de máquina para o servidor da Web.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Substitua:
WS_MACHINE_TYPE
pelo tipo de máquina para a instância do servidor da 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 da instância do servidor da Web do Airflow.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Substitua:
WS_MACHINE_TYPE
pelo tipo de máquina para a instância do servidor da 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"
}
}
A seguir
- Escalonamento e desempenho do ambiente
- Preços do Cloud Composer
- Atualizar ambientes
- Arquitetura de ambiente