Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
En esta página, se describe cómo escalar entornos de Cloud Composer.
Otras páginas sobre el escalamiento:
- Si deseas obtener una guía para seleccionar los parámetros de escalamiento y rendimiento óptimos para tu entorno, consulta Cómo optimizar el rendimiento y los costos del entorno.
- Para obtener información sobre cómo funciona el escalamiento del entorno, consulta Escalamiento del entorno.
Escala de forma vertical y horizontal
Opciones de escalamiento horizontal:
- Ajusta la cantidad mínima y máxima de trabajadores.
- Ajusta la cantidad de programadores, procesadores de DAG y activadores.
Opciones de escalamiento vertical:
- Ajusta los parámetros de escalamiento y rendimiento del trabajador, el programador, el activador, el procesador de DAG y el servidor web.
- Ajusta el tamaño del entorno.
Límites de recursos
Componente | Cantidad mínima | Cantidad máxima | Cantidad mínima de CPU virtuales | Cantidad máxima de vCPU | Paso mínimo de CPU virtual | Memoria mínima (GB) | Memoria máxima (GB) | Paso mínimo de memoria (GB) | Memoria mínima por 1 CPU virtual (GB) | Memoria máxima por 1 CPU virtual (GB) | Almacenamiento mínimo (GB) | Almacenamiento máximo (GB) | Paso mínimo de almacenamiento (GB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Programadores | 1 | 3 | 0.5 | 1 | 0.5 | 0.5 | 8 | 0.25 | 1 | 8 | 0 | 100 | 1 |
Activadores | 0 | 10 | 0.5 | 1 | 0.5 | 0.5 | 8 | 0.25 | 1 | 8 | - | - | - |
Servidor web | - | - | 0.5 | 32 | 0.5, 1 o un múltiplo de 2 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
Trabajadores | 1 | 100 | 0.5 | 32 | 0.5, 1 o un múltiplo de 2 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
Procesadores de DAG | 1 | 3 | 0.5 | 32 | 0.5, 1 o un múltiplo de 2 | 1 | 256 | 0.25 | 1 | 8 | 0 | 100 | 1 |
Ajusta los parámetros del trabajador
Puedes configurar la cantidad mínima y máxima de trabajadores para tu entorno. Cloud Composer escala automáticamente tu entorno dentro de los límites establecidos. Puedes ajustar estos límites en cualquier momento.
Puedes especificar la cantidad de CPU, memoria y espacio en el disco que usan los trabajadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios trabajadores.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el panel Configuración de las cargas de trabajo, ajusta los parámetros para los trabajadores de Airflow:
En el campo Cantidad mínima de trabajadores, especifica la cantidad de trabajadores de Airflow que tu entorno debe ejecutar en todo momento. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad durante el funcionamiento normal del entorno, incluso si una cantidad menor de trabajadores puede manejar la carga.
En el campo Cantidad máxima de trabajadores, especifica la cantidad máxima de trabajadores de Airflow que tu entorno puede ejecutar. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.
En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para los trabajadores de Airflow. Cada trabajador usa la cantidad especificada de recursos.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros de trabajador de Airflow:
--min-workers
: Es la cantidad de trabajadores de Airflow que tu entorno siempre debe ejecutar. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad, incluso si una cantidad menor de trabajadores puede manejar la carga.--max-workers
: Es la cantidad máxima de trabajadores de Airflow que tu entorno puede ejecutar. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.--worker-cpu
: Es la cantidad de CPUs para un trabajador de Airflow.--worker-memory
: Es la cantidad de memoria para un trabajador de Airflow.--worker-storage
: Es la cantidad de espacio en el disco para un trabajador de Airflow.
Ejecuta el siguiente comando de Google Cloud CLI:
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
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WORKERS_MIN
: Es la cantidad mínima de trabajadores de Airflow.WORKERS_MAX
: Es la cantidad máxima de trabajadores de Airflow.WORKER_CPU
: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.WORKER_MEMORY
: Es la cantidad de memoria para un trabajador.WORKER_STORAGE
: El tamaño del disco de un trabajador.
Ejemplo:
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
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica los campos que deseas actualizar. Por ejemplo, para actualizar todos los parámetros de los trabajadores, especifica la máscaraconfig.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
.En el cuerpo de la solicitud, especifica los parámetros del trabajador nuevo.
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX,
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WORKERS_MIN
: Es la cantidad mínima de trabajadores de Airflow.WORKERS_MAX
: Es la cantidad máxima de trabajadores de Airflow.WORKER_CPU
: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.WORKER_MEMORY
: Es la cantidad de memoria para un trabajador, en GB.WORKER_STORAGE
: Es el tamaño del disco de un trabajador, en GB.
Ejemplo:
// 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
Los siguientes campos del bloque workloads_config.worker
controlan los parámetros del trabajador de Airflow. Cada trabajador usa la cantidad especificada de recursos.
worker.min_count
: Es la cantidad de trabajadores de Airflow que tu entorno siempre debe ejecutar. La cantidad de trabajadores en tu entorno no es inferior a esta cantidad, incluso si una cantidad menor de trabajadores puede manejar la carga.worker.max_count
: Es la cantidad máxima de trabajadores de Airflow que tu entorno puede ejecutar. La cantidad de trabajadores en tu entorno no supera esta cantidad, incluso si se requiere una mayor cantidad de trabajadores para manejar la carga.worker.cpu
: Es la cantidad de CPUs para un trabajador de Airflow.worker.memory_gb
: Es la cantidad de memoria para un trabajador de Airflow.worker.storage_gb
: Es la cantidad de espacio en el disco para un trabajador de 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
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WORKERS_MIN
: Es la cantidad mínima de trabajadores de Airflow.WORKERS_MAX
: Es la cantidad máxima de trabajadores de Airflow.WORKER_CPU
: Es la cantidad de CPUs para un trabajador, en unidades de CPU virtual.WORKER_MEMORY
: Es la cantidad de memoria para un trabajador, en GB.WORKER_STORAGE
: Es el tamaño del disco de un trabajador, en GB.
Ejemplo:
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
}
}
}
}
Ajusta los parámetros del programador
Tu entorno puede ejecutar más de un programador de Airflow al mismo tiempo. Usa varios programadores para distribuir la carga entre varias instancias del programador a fin de mejorar el rendimiento y la confiabilidad.
Puedes tener hasta 3 programadores en tu entorno.
Aumentar la cantidad de programadores no siempre mejora el rendimiento de Airflow. Por ejemplo, tener solo un programador puede proporcionar un mejor rendimiento que tener dos. Esto puede suceder cuando no se usa el programador adicional y, por lo tanto, consume recursos de tu entorno sin contribuir al rendimiento general. El rendimiento real del programador depende de la cantidad de trabajadores de Airflow, la cantidad de DAG y tareas que se ejecutan en tu entorno y la configuración de Airflow y el entorno.
Recomendamos comenzar con dos programadores y, luego, supervisar el rendimiento del entorno. Si cambias la cantidad de programadores, siempre puedes volver a escalar el entorno a la cantidad original.
Para obtener más información sobre la configuración de varios programadores, consulta la documentación de Airflow.
Puedes especificar la cantidad de CPU, memoria y espacio en el disco que usan los programadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios programadores.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el panel Configuración de las cargas de trabajo, ajusta los parámetros de los programadores de Airflow:
En la lista desplegable Cantidad de programadores, selecciona la cantidad de programadores para tu entorno.
En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para los programadores de Airflow. Cada programador usa la cantidad especificada de recursos.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del programador de Airflow:
--scheduler-count
: Es la cantidad de programadores en tu entorno.--scheduler-cpu
: Es la cantidad de CPUs para un programador de Airflow.--scheduler-memory
: Es la cantidad de memoria para un programador de Airflow.--scheduler-storage
: Es la cantidad de espacio en disco para un programador de Airflow.
Ejecuta el siguiente comando de Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--scheduler-count SCHEDULER_COUNT
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.SCHEDULER_CPU
: Es la cantidad de CPU para un programador, en unidades de CPU virtual.SCHEDULER_MEMORY
: Es la cantidad de memoria para un programador.SCHEDULER_STORAGE
: Es el tamaño del disco de un programador.SCHEDULER_COUNT
: Es la cantidad de programadores.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5 \
--scheduler-storage 2 \
--scheduler-count 2
API
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.workloadsConfig.scheduler
para actualizar todos los parámetros del programador o solo la cantidad de programadores. También puedes actualizar parámetros individuales del programador, exceptocount
, si especificas una máscara. Por ejemplo,config.workloadsConfig.scheduler.cpu
.En el cuerpo de la solicitud, especifica los nuevos parámetros del programador.
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE,
"count": SCHEDULER_COUNT
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.SCHEDULER_CPU
: Es la cantidad de CPU para un programador, en unidades de CPU virtual.SCHEDULER_MEMORY
: Es la cantidad de memoria para un programador, en GB.SCHEDULER_STORAGE
: Es el tamaño del disco de un programador, en GB.SCHEDULER_COUNT
: Es la cantidad de programadores.
Ejemplo:
// 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
Los siguientes campos del bloque workloads_config.scheduler
controlan los parámetros del programador de Airflow. Cada programador usa la cantidad especificada de recursos.
scheduler.count
: Es la cantidad de programadores en tu entorno.scheduler.cpu
: Es la cantidad de CPUs para un programador de Airflow.scheduler.memory_gb
: Es la cantidad de memoria para un programador de Airflow.scheduler.storage_gb
: Es la cantidad de espacio en disco de un 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
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.SCHEDULER_CPU
: Es la cantidad de CPU para un programador, en unidades de CPU virtual.SCHEDULER_MEMORY
: Es la cantidad de memoria para un programador, en GB.SCHEDULER_STORAGE
: Es el tamaño del disco de un programador, en GB.SCHEDULER_COUNT
: Es la cantidad de programadores.
Ejemplo:
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
}
}
}
}
Ajusta los parámetros del activador
Puedes establecer la cantidad de activadores en cero, pero necesitas al menos una instancia de activador en tu entorno (o al menos dos en entornos con alta resiliencia) para usar operadores diferibles en tus DAG.
Según el modo de resiliencia de tu entorno, existen diferentes configuraciones posibles para la cantidad de activadores:
- Resiliencia estándar: Puedes ejecutar hasta 10 activadores.
- Alta resiliencia: Al menos 2 activadores, hasta un máximo de 10.
Incluso si la cantidad de activadores se establece en cero, se crea una definición de pod de activador y se puede ver en el clúster de tu entorno, pero no se ejecutan cargas de trabajo de activador reales.
También puedes especificar la cantidad de CPU, memoria y espacio en el disco que usan los activadores de Airflow en tu entorno. De esta manera, puedes aumentar el rendimiento de tu entorno, además del escalamiento horizontal proporcionado mediante el uso de varios activadores.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el panel Configuración de las cargas de trabajo, ajusta los parámetros de los activadores de Airflow:
En la sección Activador, en el campo Cantidad de activadores, ingresa la cantidad de activadores de tu entorno.
Si configuras al menos un activador para tu entorno, también usa los campos CPU y Memoria para configurar la asignación de recursos de tus activadores.
En CPU y Memoria, especifica la cantidad de CPUs, memoria y almacenamiento para los activadores de Airflow. Cada activador usa la cantidad especificada de recursos.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del activador de Airflow:
--triggerer-count
: Es la cantidad de activadores en tu entorno.- Para entornos de resiliencia estándar, usa un valor entre
0
y10
. - Para entornos altamente resilientes, usa
0
o un valor entre2
y10
.
- Para entornos de resiliencia estándar, usa un valor entre
--triggerer-cpu
: Es la cantidad de CPUs de un activador de Airflow.--triggerer-memory
: Es la cantidad de memoria para un activador de Airflow.
Ejecuta el siguiente comando de Google Cloud CLI:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.TRIGGERER_COUNT
: Es la cantidad de activadores.TRIGGERER_CPU
: Es la cantidad de CPUs para un activador, en unidades de CPU virtual.TRIGGERER_MEMORY
: Es la cantidad de memoria para un activador.
Ejemplos:
- Escala a cuatro instancias del activador:
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
En el parámetro de consulta
updateMask
, especifica la máscaraconfig.workloadsConfig.triggerer
.En el cuerpo de la solicitud, especifica los tres parámetros de los activadores.
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
Reemplaza lo siguiente:
TRIGGERER_COUNT
: Es la cantidad de activadores.- Para entornos de resiliencia estándar, usa un valor entre
0
y10
. - Para entornos altamente resilientes, usa
0
o un valor entre2
y10
.
- Para entornos de resiliencia estándar, usa un valor entre
TRIGGERER_CPU
: Es la cantidad de CPUs para un activador, en unidades de CPU virtual.TRIGGERER_MEMORY
: Es la cantidad de memoria para un activador.
Ejemplos:
- Para inhabilitar los activadores, establece el recuento de activadores en
0
. Esta operación no requiere especificar la CPU ni la memoria para los activadores.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
"workloadsConfig": {
"triggerer": {
"count": 0
}
}
}
- Escala a cuatro instancias del activador:
// 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
Los siguientes campos del bloque workloads_config.triggerer
controlan los parámetros del activador de Airflow. Cada activador usa la cantidad especificada de recursos.
triggerer.count
: Es la cantidad de activadores en tu entorno.- Para entornos de resiliencia estándar, usa un valor entre
0
y10
. - Para entornos altamente resilientes, usa
0
o un valor entre2
y10
.
- Para entornos de resiliencia estándar, usa un valor entre
triggerer.cpu
: Es la cantidad de CPUs de un activador de Airflow.triggerer.memory_gb
: Es la cantidad de memoria de un activador de 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
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.TRIGGERER_COUNT
: Es la cantidad de activadores.TRIGGERER_CPU
: Es la cantidad de CPUs para un activador, en unidades de CPU virtual.TRIGGERER_MEMORY
: Es la cantidad de memoria para un activador, en GB.
Ejemplo:
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
}
}
}
}
Ajusta los parámetros del procesador de DAG
Puedes especificar la cantidad de procesadores de DAG en tu entorno y la cantidad de CPUs, memoria y espacio en el disco que usa cada procesador de DAG.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el panel Configuración de las cargas de trabajo, ajusta los parámetros para los procesadores de DAG de Airflow:
En la lista desplegable Cantidad de procesadores de DAG, selecciona la cantidad de procesadores de DAG para tu entorno.
En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para los procesadores de DAG de Airflow. Cada procesador de DAG usa la cantidad especificada de recursos.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del procesador de DAG de Airflow:
--dag-processor-count
: Es la cantidad de procesadores de DAG.--dag-processor-cpu
: Es la cantidad de CPUs para el procesador de DAG.--dag-processor-memory
: Es la cantidad de memoria para el procesador de DAG.--dag-processor-storage
: Es la cantidad de espacio en disco para el procesador de DAG.
Ejecuta el siguiente comando de 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
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.DAG_PROCESSOR_CPU
: Es la cantidad de CPUs para el procesador de DAG.DAG_PROCESSOR_MEMORY
: Es la cantidad de memoria para el procesador de DAG.DAG_PROCESSOR_STORAGE
: Es la cantidad de espacio en disco para el procesador de DAG.
Ejemplo:
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
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.workloadsConfig.dagProcessor
para actualizar todos los parámetros del procesador de DAG, incluida la cantidad de procesadores de DAG. También puedes actualizar parámetros individuales del procesador de DAG si especificas una máscara. Por ejemplo,config.workloadsConfig.dagProcessor.cpu,config.workloadsConfig.dagProcessor.memoryGb,config.workloadsConfig.dagProcessor.storageGb
.En el cuerpo de la solicitud, especifica los nuevos parámetros del procesador de DAG.
"config": {
"workloadsConfig": {
"dagProcessor": {
"count": DAG_PROCESSOR_COUNT,
"cpu": DAG_PROCESSOR_CPU,
"memoryGb": DAG_PROCESSOR_MEMORY,
"storageGb": DAG_PROCESSOR_STORAGE
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.DAG_PROCESSOR_COUNT
: Es la cantidad de procesadores de DAG.DAG_PROCESSOR_CPU
: Es la cantidad de CPUs para el procesador de DAG, en unidades de vCPU.DAG_PROCESSOR_MEMORY
: Es la cantidad de memoria para el procesador de DAG, en GB.DAG_PROCESSOR_STORAGE
: Es la cantidad de espacio en disco del procesador de DAG, expresada en GB.
Ejemplo:
// 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
Los siguientes campos del bloque workloads_config.dag_processor
controlan los parámetros del procesador de DAG de Airflow. Cada procesador de DAG usa la cantidad especificada de recursos.
dag_processor.count
: Es la cantidad de procesadores de DAG en tu entorno.dag_processor.cpu
: Es la cantidad de CPUs para un procesador de DAG.dag_processor.memory_gb
: Es la cantidad de memoria para un procesador de DAG.dag_processor.storage_gb
la cantidad de espacio en el disco para un procesador 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
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.DAG_PROCESSOR_COUNT
: Es la cantidad de procesadores de DAG.DAG_PROCESSOR_CPU
: Es la cantidad de CPUs para el procesador de DAG, en unidades de vCPU.DAG_PROCESSOR_MEMORY
: Es la cantidad de memoria para el procesador de DAG, en GB.DAG_PROCESSOR_STORAGE
: Es la cantidad de espacio en disco del procesador de DAG, expresada en GB.
Ejemplo:
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
}
}
}
}
Ajusta los parámetros del servidor web
Puedes especificar la cantidad de CPU, memoria y espacio en el disco que usa el servidor web de Airflow en tu entorno. De esta manera, puedes escalar el rendimiento de la IU de Airflow, por ejemplo, para que coincida con la demanda de una gran cantidad de usuarios o una gran cantidad de DAG administrados.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el panel Configuración de las cargas de trabajo, ajusta los parámetros del servidor web. En los campos CPU, Memoria y Almacenamiento, especifica la cantidad de CPUs, memoria y almacenamiento para el servidor web.
Haz clic en Guardar.
gcloud
Están disponibles los siguientes parámetros del servidor web de Airflow:
--web-server-cpu
: Es la cantidad de CPUs para el servidor web de Airflow.--web-server-memory
: Es la cantidad de memoria para el servidor web de Airflow.--web-server-storage
: Es la cantidad de espacio en disco para el servidor web de Airflow.
Ejecuta el siguiente comando de Google Cloud CLI:
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
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WEB_SERVER_CPU
: Es la cantidad de CPU para el servidor web, en unidades de CPU virtuales.WEB_SERVER_MEMORY
: Es la cantidad de memoria para el servidor web.WEB_SERVER_STORAGE
: Es la cantidad de memoria para el servidor web.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-cpu 1 \
--web-server-memory 2.5 \
--web-server-storage 2
API
Realiza una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.workloadsConfig.webServer
para actualizar todos los parámetros del servidor web. También puedes actualizar parámetros individuales del servidor web si especificas una máscara para esos parámetros:config.workloadsConfig.webServer.cpu
,config.workloadsConfig.webServer.memoryGb
yconfig.workloadsConfig.webServer.storageGb
.En el cuerpo de la solicitud, especifica los nuevos parámetros del servidor web.
"config": {
"workloadsConfig": {
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WEB_SERVER_CPU
: Es la cantidad de CPUs para el servidor web, en unidades de CPU virtuales.WEB_SERVER_MEMORY
: Es la cantidad de memoria para el servidor web, en GB.WEB_SERVER_STORAGE
: Es el tamaño del disco del servidor web, en GB.
Ejemplo:
// 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
Los siguientes campos del bloque workloads_config.web_server
controlan los parámetros del servidor web.
web_server.cpu
: Es la cantidad de CPUs para el servidor web.web_server.memory_gb
: Es la cantidad de memoria para el servidor web.web_server.storage_gb
: Es la cantidad de espacio en el disco para el 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
}
}
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.WEB_SERVER_CPU
: Es la cantidad de CPUs para el servidor web, en unidades de CPU virtuales.WEB_SERVER_MEMORY
: Es la cantidad de memoria para el servidor web, en GB.WEB_SERVER_STORAGE
: Es el tamaño del disco del servidor web, en GB.
Ejemplo:
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
}
}
}
}
Ajusta el tamaño del entorno
El tamaño del entorno controla los parámetros de rendimiento de la infraestructura administrada de Cloud Composer que incluye, por ejemplo, la base de datos de Airflow.
Considera seleccionar un tamaño de entorno más grande si deseas ejecutar una gran cantidad de DAG y tareas.
Console
En la consola de Google Cloud, ve a la página Entornos.
En la lista de entornos, haz clic en el nombre de tu entorno. Se abrirá la página Detalles del entorno.
Ve a la pestaña Configuración del entorno.
En el elemento Recursos > Configuración de cargas de trabajo, haz clic en Editar.
En el elemento Recursos > Infraestructura principal, haz clic en Editar.
En el panel Infraestructura principal, en el campo Tamaño del entorno, especifica el tamaño del entorno.
Haz clic en Guardar.
gcloud
El argumento --environment-size
controla el tamaño del entorno:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.ENVIRONMENT_SIZE
:small
,medium
olarge
.
Ejemplo:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Crea una solicitud a la API de
environments.patch
.En esta solicitud, realiza lo siguiente:
En el parámetro
updateMask
, especifica la máscaraconfig.environmentSize
.En el cuerpo de la solicitud, especifica el tamaño del entorno.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
Reemplaza lo siguiente:
ENVIRONMENT_SIZE
: Es el tamaño del entorno,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
oENVIRONMENT_SIZE_LARGE
.
Ejemplo:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize
"config": {
"environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}
Terraform
El campo environment_size
en el bloque config
controla el tamaño del entorno:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
Reemplaza lo siguiente:
ENVIRONMENT_NAME
: Es el nombre del entorno.LOCATION
: Es la región en la que se encuentra el entorno.ENVIRONMENT_SIZE
: Es el tamaño del entorno,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
oENVIRONMENT_SIZE_LARGE
.
Ejemplo:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}
¿Qué sigue?
- Escalamiento y rendimiento del entorno
- Precios de Cloud Composer
- Actualización de entornos
- Arquitectura del entorno