Cloud Composer 1 | Cloud Composer 2
Auf dieser Seite wird beschrieben, wie Sie Cloud Composer-Umgebungen in Cloud Composer 2 skalieren.
Weitere Seiten zur Skalierung:
Eine Anleitung zur Auswahl optimaler Skalierungs- und Leistungsparameter für Ihre Umgebung finden Sie unter Umgebungsleistung und -kosten optimieren.
Informationen zur Funktionsweise der Umgebungsskalierung finden Sie unter Umgebungsskalierung.
Vertikal und horizontal skalieren
Optionen für die horizontale Skalierung:
Optionen für die vertikale Skalierung:
- Skalierung und Leistung von Workern, Planern, Triggern und Webservern anpassen
- Größe der Umgebung anpassen
Mindest- und Höchstzahl der Worker anpassen
Sie können die Mindest- und Höchstanzahl an Workern für Ihre Umgebung festlegen. Cloud Composer skaliert Ihre Umgebung automatisch innerhalb der festgelegten Limits. Sie können diese Limits jederzeit anpassen.
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf:
Wählen Sie Ihre Umgebung aus.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.
Passen Sie im Dialogfeld Konfiguration der Arbeitslasten im Abschnitt Worker-Autoscaling die Limits für Airflow-Worker an:
Geben Sie im Feld Mindestzahl an Workern die Anzahl der Airflow-Worker an, die Ihre Umgebung immer ausführen muss. Die Zahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nie, auch nicht, wenn eine niedrigere Anzahl an Workern die Last bewältigen kann.
Geben Sie im Feld Maximalzahl der Worker die maximale Anzahl der Airflow-Worker an, die in Ihrer Umgebung ausgeführt werden können. Die Zahl der Worker in Ihrer Umgebung überschreitet diesen Wert nie, auch wenn eine höhere Anzahl an Workern zur Verarbeitung der Last erforderlich ist.
Klicken Sie auf Speichern.
gcloud
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--min-workers WORKERS_MIN \
--max-workers WORKERS_MAX
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.WORKERS_MIN
durch die Mindestzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nicht, auch wenn eine geringere Anzahl von Workern die Auslastung bewältigen kann.WORKERS_MAX
durch die Maximalzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung überschreitet diesen Wert nie, auch wenn eine höhere Anzahl an Workern zur Verarbeitung der Last erforderlich ist.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--min-workers 2 \
--max-workers 6
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
-Maske an.Geben Sie im Anfragetext in den Feldern
minCount
undmaxCount
die neuen Worker-Limits an.
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX
}
}
}
Ersetzen Sie:
WORKERS_MIN
durch die Mindestzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nicht, auch wenn eine geringere Anzahl von Workern die Auslastung bewältigen kann.WORKERS_MAX
durch die Maximalzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung überschreitet diesen Wert nie, auch wenn eine höhere Anzahl an Workern zur Verarbeitung der Last erforderlich ist.
Beispiel:
// 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": {
"minCount": 2,
"maxCount": 6
}
}
}
Terraform
Die Felder min_count
und max_count
im workloadsConfig.worker
-Block geben die minimale und maximale Anzahl an Workern in Ihrer Umgebung an:
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
}
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.WORKERS_MIN
durch die Mindestzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nicht, auch wenn eine geringere Anzahl von Workern die Auslastung bewältigen kann.WORKERS_MAX
durch die Maximalzahl an Airflow-Workern, die Ihre Umgebung ausführen kann. Die Anzahl der Worker in Ihrer Umgebung überschreitet diesen Wert nie, auch wenn eine höhere Anzahl an Workern zur Verarbeitung der Last erforderlich ist.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
worker {
min_count = 2
max_count = 6
}
}
}
}
Anzahl der Planer anpassen
In Ihrer Umgebung können mehrere Airflow-Planer gleichzeitig ausgeführt werden. Mit mehreren Planern lässt sich die Last auf verschiedene Planerinstanzen verteilen, um die Leistung und Zuverlässigkeit zu verbessern.
Sie können bis zu 10 Planer in Ihrer Umgebung haben.Durch die Erhöhung der Anzahl der Planer wird die Airflow-Leistung nicht immer verbessert. Wenn Sie beispielsweise nur einen Planer haben, ist die Leistung möglicherweise besser als zwei. Dies kann passieren, wenn der zusätzliche Planer nicht verwendet wird und somit Ressourcen Ihrer Umgebung verbraucht, ohne dass dies Auswirkungen auf die Gesamtleistung hat. Die tatsächliche Leistung des Planers hängt von der Anzahl der Airflow-Worker, der Anzahl der in der Umgebung ausgeführten DAGs und Aufgaben sowie der Konfiguration von Airflow und der Umgebung ab.
Wir empfehlen, mit zwei Planern zu beginnen und dann die Leistung Ihrer Umgebung zu überwachen. Wenn Sie die Anzahl der Planer ändern, können Sie Ihre Umgebung jederzeit wieder auf die ursprüngliche Anzahl von Planern skalieren.
Weitere Informationen zur Konfiguration mehrerer Planer finden Sie in der Airflow-Dokumentation.
So ändern Sie die Anzahl der Planer für Ihre Umgebung:
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf:
Wählen Sie Ihre Umgebung aus.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.
Legen Sie im Dialogfeld Konfiguration der Arbeitslasten in der Drop-down-Liste Anzahl der Planer die Anzahl der Planer für Ihre Umgebung fest.
Klicken Sie auf Speichern.
gcloud
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.SCHEDULER_COUNT
durch die Anzahl der Planer.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Erstellen Sie eine
environments.patch
-API-Anfrage.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.softwareConfig.workloadsConfig.scheduler
-Maske an.Geben Sie im Anfragetext im
count
-Feld die Anzahl der Planer an.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Ersetzen Sie:
SCHEDULER_COUNT
durch die Anzahl der Planer.
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environmentsexample-environment?updateMask=
// config.workloadsConfig.scheduler
"config": {
"workloadsConfig": {
"scheduler": {
"count": 2
}
}
}
Terraform
Das count
-Feld im workloads_config.scheduler
-Block gibt die Anzahl der Planer in Ihrer Umgebung an:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.SCHEDULER_COUNT
durch die Anzahl der Planer.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Anzahl der Trigger anpassen
Sie können die Anzahl der Trigger auf null setzen, benötigen jedoch mindestens eine Triggerer-Instanz in Ihrer Umgebung (oder mindestens zwei in Umgebungen mit extrem hoher Ausfallsicherheit), um verzögerte Operatoren in Ihren DAGs verwenden zu können.
Abhängig von der Einstellung für die Ausfallsicherheit Ihrer Umgebung gibt es verschiedene Konfigurationsmöglichkeiten für die Anzahl der Triggerer:
- Standardausfallsicherheit: Sie können bis zu 10 Trigger ausführen
- Hohe Ausfallsicherheit: mindestens 2 bis maximal 10 Trigger
Auch wenn die Anzahl der Trigger auf null gesetzt ist, wird eine Triggerer-Pod-Definition erstellt und im Cluster Ihrer Umgebung sichtbar. Es werden jedoch keine Triggerer-Arbeitslasten ausgeführt.
Wenn Sie mehr als null Trigger haben, werden sie wie andere Umgebungskomponenten mit Compute-SKUs für Cloud Composer abgerechnet.
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Ressourcen > Arbeitslasten auf Bearbeiten. Der Bereich Arbeitslastkonfiguration wird geöffnet.
Geben Sie im Bereich Trigger im Feld Anzahl der Trigger die Anzahl der Trigger in Ihrer Umgebung ein.
Wenn Sie für Ihre Umgebung mindestens einen Trigger festgelegt haben, verwenden Sie die Felder CPU und Arbeitsspeicher, um die Ressourcenzuweisung für Ihre Trigger zu konfigurieren.
Klicken Sie auf Speichern und warten Sie, bis die Umgebung aktualisiert wurde.
gcloud
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--triggerer-count TRIGGERER_COUNT
--triggerer-cpu TRIGGERER_CPU,
--triggerer-memory TRIGGERER_MEMORY
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.TRIGGERER_COUNT
durch die Anzahl der Trigger.- Verwenden Sie für Umgebungen mit Standardausfallsicherheit einen Wert zwischen
0
und10
. - Verwenden Sie
0
oder einen Wert zwischen2
und10
für Umgebungen mit extrem hoher Ausfallsicherheit.
- Verwenden Sie für Umgebungen mit Standardausfallsicherheit einen Wert zwischen
TRIGGERER_CPU
durch die Anzahl der CPUs für einen Trigger in vCPU-Einheiten. Dieses Flag ist optional. Wenn Sie es nicht angeben, wird der Standardwert0.5
vCPU verwendet. Zulässige Werte:0.5
,0.75
,1
.TRIGGERER_MEMORY
durch die Größe des Arbeitsspeichers für einen Trigger. Dieses Flag ist optional. Wenn es nicht angegeben ist, wird der Standardwert0.5
GB verwendet.Der erforderliche Mindestarbeitsspeicher entspricht der Anzahl der CPUs, die den Triggern zugewiesen sind. Der maximal zulässige Wert entspricht der Anzahl der Triggerer-CPUs multipliziert mit 6,5.
Wenn Sie beispielsweise das Flag
--triggerer-cpu
auf1
setzen, ist der Mindestwert für--triggerer-memory
1
und der Höchstwert6.5
.
Beispiele:
Deaktivieren Sie Trigger, indem Sie die Triggeranzahl auf
0
setzen. Für diesen Vorgang müssen Sie keine CPU oder keinen Arbeitsspeicher für die Trigger angeben.gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 0
Auf mehrere Triggerer-Instanzen skalieren:
gcloud composer environments update example-environment \ --location us-central1 \ --triggerer-count 4 \ --triggerer-cpu 1 \ --triggerer-memory 1GB
API
Erstellen Sie eine
environments.patch
-API-Anfrage.Geben Sie im Abfrageparameter
updateMask
die Maskeconfig.workloadsConfig.triggerer
an.Verwenden Sie im Anfragetext das folgende Objekt
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
Ersetzen Sie:
TRIGGERER_COUNT
durch die Anzahl der Trigger.- Verwenden Sie für Umgebungen mit Standardausfallsicherheit einen Wert zwischen
0
und10
. Verwenden Sie
0
oder einen Wert zwischen2
und10
für Umgebungen mit extrem hoher Ausfallsicherheit.Wenn Sie mindestens einen Trigger verwenden, müssen Sie auch die Werte für
TRIGGERER_CPU
undTRIGGERER_MEMORY
angeben:Legen Sie für
TRIGGERER_CPU
die Anzahl der CPUs für einen Trigger in vCPU-Einheiten fest. Zulässige Werte:0.5
,0.75
,1
.Legen Sie für
TRIGGERER_MEMORY
die Arbeitsspeichermenge für einen Trigger fest. Der erforderliche Mindestarbeitsspeicher entspricht der Anzahl der CPUs, die den Triggern zugewiesen sind. Der maximal zulässige Wert entspricht der Anzahl der Triggerer-CPUs multipliziert mit 6,5.Wenn Sie beispielsweise
TRIGGERER_CPU
auf1
setzen, ist der Mindestwert fürTRIGGERER_MEMORY
1
und der Höchstwert6.5
.
- Verwenden Sie für Umgebungen mit Standardausfallsicherheit einen Wert zwischen
Beispiele:
Deaktivieren Sie Trigger, indem Sie die Triggeranzahl auf
0
setzen. Für diesen Vorgang müssen Sie keine CPU oder keinen Arbeitsspeicher für die Trigger angeben.// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 0 } } }
Auf mehrere Triggerer-Instanzen skalieren:
// PATCH https://composer.googleapis.com/v1beta1/projects/example-project/ // locations/us-central1/environments/example-environment?updateMask= // config.workloadsConfig.triggerer "config": { "workloadsConfig": { "triggerer": { "count": 4, "cpu": 1, "memoryGb": 1 } } }
Terraform
Das Feld count
im Block workloads_config.triggerer
gibt die Anzahl der Trigger in Ihrer Umgebung an:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
triggerer {
count = TRIGGERER_COUNT
}
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.TRIGGERER_COUNT
durch die Anzahl der Trigger.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
triggerer {
count = 1
}
}
}
}
Anpassung von Skalierungs- und Leistungsparametern von Workern, Planern, Triggern und Webservern
Sie können die Menge an CPUs, den Arbeitsspeicher und den Speicherplatz angeben, die von Ihrer Umgebung verwendet werden. Auf diese Weise können Sie neben der horizontalen Skalierung durch die Verwendung mehrerer Worker und Planer die Leistung Ihrer Umgebung erhöhen.
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf.
Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie unter Ressourcen > Arbeitslasten auf Bearbeiten. Der Bereich Arbeitslastkonfiguration wird geöffnet.
Wählen Sie in den Drop-down-Listen Anzahl der Planer und Anzahl der Trigger die Anzahl der Planer und Trigger in Ihrer Umgebung aus.
Geben Sie im Bereich Konfiguration der Arbeitslasten in den Feldern CPU, Arbeitsspeicher und Speicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicher für Airflow-Planer, Trigger, Webserver und Worker an.
Klicken Sie auf Speichern.
gcloud
Folgende Argumente steuern die CPU-, Arbeitsspeicher- und Speicherplatzparameter von Airflow-Planern, Webservern und Workern. Alle Planer und Worker verwenden die angegebene Anzahl an Ressourcen.
--scheduler-cpu
gibt die Anzahl der CPUs für einen Airflow-Planer an.--scheduler-memory
gibt die Größe des Arbeitsspeichers für einen Airflow-Planer an.--scheduler-storage
gibt die Menge des Speicherplatzes für einen Airflow-Planer an.--triggerer-cpu
gibt die Anzahl der CPUs für einen Airflow-Triggerer an. Zulässige Werte:0.5
,0.75
,1
. Wenn Sie die Triggerer-CPU anpassen möchten, sind auch die Flags--triggerer-memory
und--triggerer-count
erforderlich.--triggerer-memory
gibt die Arbeitsspeichermenge für einen Airflow-Trigger an. Wenn Sie den Triggerer-Arbeitsspeicher anpassen möchten, sind auch die Flags--triggerer-cpu
und--triggerer-count
erforderlich.Der erforderliche Mindestarbeitsspeicher entspricht der Anzahl der CPUs, die den Triggern zugewiesen sind. Der maximal zulässige Wert entspricht der Anzahl der Triggerer-CPUs multipliziert mit 6,5.
Wenn Sie beispielsweise das Flag
--triggerer-cpu
auf1
setzen, ist der Mindestwert für--triggerer-memory
1
und der Höchstwert6.5
.--web-server-cpu
gibt die Anzahl der CPUs für den Airflow-Webserver an.--web-server-memory
gibt die Größe des Arbeitsspeichers für den Airflow-Webserver an.--web-server-storage
gibt den Speicherplatz für den Airflow-Webserver an.--worker-cpu
gibt die Anzahl der CPUs für einen Airflow-Worker an.--worker-memory
gibt die Größe des Arbeitsspeichers für einen Airflow-Worker an.--worker-storage
gibt den Speicherplatz für einen Airflow-Worker an.
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--triggerer-count TRIGGERER_COUNT \
--triggerer-cpu TRIGGERER_CPU \
--triggerer-memory TRIGGERER_MEMORY \
--web-server-cpu WEB_SERVER_CPU \
--web-server-memory WEB_SERVER_MEMORY \
--web-server-storage WEB_SERVER_STORAGE \
--worker-cpu WORKER_CPU \
--worker-memory WORKER_MEMORY \
--worker-storage WORKER_STORAGE
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.SCHEDULER_CPU
durch die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
durch die Größe des Arbeitsspeichers für einen Planer.SCHEDULER_STORAGE
durch die Laufwerksgröße für einen Planer.TRIGGERER_COUNT
durch die Anzahl der Trigger. Dieser Wert ist auch dann erforderlich, wenn Sie die aktuelle Anzahl der Trigger nicht ändern, sondern nur deren CPU- oder Arbeitsspeicherzuweisung anpassen möchten.TRIGGERER_CPU
durch die Anzahl der CPUs für einen Trigger in vCPU-Einheiten.TRIGGERER_MEMORY
durch die Größe des Arbeitsspeichers für einen Trigger.WEB_SERVER_CPU
durch die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
durch die Größe des Arbeitsspeichers für den Webserver.WEB_SERVER_STORAGE
durch die Größe des Arbeitsspeichers für den Webserver.WORKER_CPU
durch die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
durch die Größe des Arbeitsspeichers für einen Worker.WORKER_STORAGE
durch die Laufwerksgröße für einen Worker.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5GB\
--scheduler-storage 2GB \
--triggerer-count 2 \
--triggerer-cpu 1 \
--triggerer-memory 1GB \
--web-server-cpu 1 \
--web-server-memory 2.5GB \
--web-server-storage 2GB \
--worker-cpu 1 \
--worker-memory 2GB \
--worker-storage 2GB
API
Erstellen Sie eine
environments.patch
-API-Anfrage.In dieser Anfrage:
- Geben Sie im
updateMask
-Parameter die Felder an, die Sie aktualisieren möchten. Wenn Sie beispielsweise alle Parameter für Planer aktualisieren möchten, geben Sie die Maskeconfig.workloadsConfig.scheduler.cpu,config.workloadsConfig.scheduler.memoryGb,config.workloadsConfig.scheduler.storageGB
an.
Wenn Sie Triggerparameter aktualisieren, geben Sie die Maske
config.workloadsConfig.triggerer
an. Es ist nicht möglich, Masken für einzelne Parameter des Triggers anzugeben.- Geben Sie im Anfragetext die Parameter für Skalierung und Leistung an.
- Geben Sie im
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE
},
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
},
"worker": {
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
Ersetzen Sie:
SCHEDULER_CPU
durch die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
durch die Größe des Arbeitsspeichers für einen Planer in GB.SCHEDULER_STORAGE
durch die Laufwerksgröße für einen Planer in GB.TRIGGERER_COUNT
durch die Anzahl der Trigger. Dieser Parameter ist auch dann erforderlich, wenn Sie die aktuelle Anzahl der Trigger nicht ändern, sondern nur deren CPU- oder Arbeitsspeicherzuweisung anpassen möchten.TRIGGERER_CPU
durch die Anzahl der CPUs für einen Trigger in vCPU-Einheiten. Zulässige Werte:0.5
,0.75
,1
.TRIGGERER_MEMORY
durch die Größe des Arbeitsspeichers für einen Trigger.Der erforderliche Mindestarbeitsspeicher entspricht der Anzahl der CPUs, die den Triggern zugewiesen sind. Der maximal zulässige Wert entspricht der Anzahl der Triggerer-CPUs multipliziert mit 6,5.
Wenn Sie beispielsweise
TRIGGERER_CPU
auf1
setzen, ist der Mindestwert fürTRIGGERER_MEMORY
1
und der Höchstwert6.5
.WEB_SERVER_CPU
durch die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
durch die Größe des Arbeitsspeichers für den Webserver in GB.WEB_SERVER_STORAGE
durch die Laufwerksgröße für den Webserver in GB.WORKER_CPU
durch die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
durch die Größe des Arbeitsspeichers für einen Worker in GB.WORKER_STORAGE
durch die Laufwerksgröße für einen Worker in GB.
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler.cpu,
// config.workloadsConfig.scheduler.memoryGB,
// config.workloadsConfig.scheduler.storageGb,
// config.workloadsConfig.triggerer
// config.workloadsConfig.webServer.cpu,
// config.workloadsConfig.webServer.memoryGb,
// config.workloadsConfig.webServer.storageGb,
// config.workloadsConfig.worker.cpu,
// config.workloadsConfig.worker.memoryGb,
// config.workloadsConfig.worker.storageGb
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"triggerer": {
"count": 1,
"cpu": 1,
"memoryGb": 1
},
"webServer": {
"cpu": 0.5,
"memoryGb": 2.5,
"storageGb": 2
},
"worker": {
"cpu": 1,
"memoryGb": 2,
"storageGb": 2
}
}
}
Terraform
Die folgenden Blöcke im workloadsConfig
-Block steuern die CPU-, Arbeitsspeicher- und Speicherplatzparameter von Airflow-Planern, Webservern, Triggern und Workern. Jeder Planer, Trigger und Worker verwendet die angegebene Menge an Ressourcen.
- Das
scheduler.cpu
-Feld gibt die Anzahl der CPUs für einen Airflow-Planer an. - Das
scheduler.memory_gb
-Feld gibt die Größe des Arbeitspeichers für einen Airflow-Planer an. - Das
scheduler.storage_gb
-Feld gibt die Größe des Speicherplatzes für einen Planer an. - Das Feld
triggerer.cpu
gibt die Anzahl der CPUs für einen Airflow-Trigger an. - Das Feld
triggerer.memory_gb
gibt die Größe des Arbeitsspeichers für einen Airflow-Triggerer an. - Das Feld
web_server.cpu
gibt die Anzahl der CPUs für den Airflow-Webserver an. - Das
web_server.memory_gb
-Feld gibt die Größe des Arbeitspeichers für den Airflow-Webserver an. - Das Feld
web_server.storage_gb
gibt die Größe des Speicherplatzes für den Airflow-Webserver an. - Das Feld
worker.cpu
gibt die Anzahl der CPUs für einen Airflow-Worker an. - Das Feld
worker.memory_gb
gibt die Größe des Arbeitspeichers für einen Airflow-Worker an. - Das Feld
worker.storage_gb
gibt die Größe des Speicherplatzes für einen Airflow-Worker an.
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
}
triggerer {
cpu = TRIGGERER_CPU
memory_gb = TRIGGERER_MEMORY
count = 1
}
web_server {
cpu = WEB_SERVER_CPU
memory_gb = WEB_SERVER_MEMORY
storage_gb = WEB_SERVER_STORAGE
}
worker {
cpu = WORKER_CPU
memory_gb = WORKER_MEMORY
storage_gb = WORKER_STORAGE
}
}
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.SCHEDULER_CPU
durch die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
durch die Größe des Arbeitsspeichers für einen Planer in GB.SCHEDULER_STORAGE
durch die Laufwerksgröße für einen Planer in GB.TRIGGERER_CPU
durch die Anzahl der CPUs für einen Trigger in vCPU-Einheiten.TRIGGERER_MEMORY
durch die Größe des Arbeitsspeichers für einen Triggerer in GB.WEB_SERVER_CPU
durch die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
durch die Größe des Arbeitsspeichers für den Webserver in GB.WEB_SERVER_STORAGE
durch die Laufwerksgröße für den Webserver in GB.WORKER_CPU
durch die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
durch die Größe des Arbeitsspeichers für einen Worker in GB.WORKER_STORAGE
durch die Laufwerksgröße für einen Worker in GB.
Beispiel:
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
}
triggerer {
cpu = 0.5
memory_gb = 0.5
count = 1
}
web_server {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
worker {
cpu = 0.5
memory_gb = 1.875
storage_gb = 1
}
}
}
}
Umgebungsgröße anpassen
Mit der Größe der Umgebung werden die Leistungsparameter der verwalteten Cloud Composer-Infrastruktur gesteuert, in der die Airflow-Datenbank enthalten ist. Wählen Sie gegebenenfalls eine größere Umgebungsgröße aus, wenn Sie eine große Anzahl von DAGs und Aufgaben ausführen möchten.
Console
Rufen Sie in der Google Cloud Console die Seite Umgebungen auf:
Wählen Sie Ihre Umgebung aus.
Rufen Sie den Tab Umgebungskonfiguration auf.
Klicken Sie im Element Ressourcen > Kerninfrastruktur auf Bearbeiten.
Geben Sie im Dialogfeld Kerninfrastruktur im Feld Umgebungsgröße die Größe der Umgebung an.
Klicken Sie auf Speichern.
gcloud
Das --environment-size
-Argument steuert die Umgebungsgröße:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--environment-size ENVIRONMENT_SIZE
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.ENVIRONMENT_SIZE
mitsmall
,medium
oderlarge
.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--environment-size medium
API
Erstellen Sie eine
environments.patch
-API-Anfrage.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter dieconfig.environmentSize
-Maske an.Geben Sie im Anfragetext die Größe der Umgebung an.
"config": {
"environmentSize": "ENVIRONMENT_SIZE"
}
Ersetzen Sie:
ENVIRONMENT_SIZE
durch die Umgebungsgröße,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
oderENVIRONMENT_SIZE_LARGE
.
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.environmentSize
"config": {
"environmentSize": "ENVIRONMENT_SIZE_MEDIUM"
}
Terraform
Das environment_size
-Feld im config
-Block steuert die Umgebungsgröße:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
Ersetzen Sie:
ENVIRONMENT_NAME
durch den Namen der Umgebung.LOCATION
durch die Region, in der sich die Umgebung befindet.ENVIRONMENT_SIZE
durch die Umgebungsgröße,ENVIRONMENT_SIZE_SMALL
,ENVIRONMENT_SIZE_MEDIUM
oderENVIRONMENT_SIZE_LARGE
.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
environment_size = "ENVIRONMENT_SIZE_SMALL"
}
}
}
Nächste Schritte
- Skalierung und Leistung der Umgebung
- Cloud Composer – Preise
- Umgebungen aktualisieren
- Umgebungsarchitektur