Cloud Composer 1 | Cloud Composer 2 | Cloud Composer 3
Auf dieser Seite wird beschrieben, wie Sie Cloud Composer-Umgebungen skalieren.
Weitere Seiten zur Skalierung:
- Eine Anleitung zur Auswahl der optimalen 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:
- Mindest- und Höchstzahl von Workern anpassen
- Passen Sie die Anzahl der Planer und Trigger an.
Optionen für die vertikale Skalierung:
- Passen Sie Worker, Planer, Trigger und Webserver an. Skalierungs- und Leistungsparameter.
- Passen Sie die Umgebungsgröße an.
Ressourcenlimits
Komponente | Mindestzahl | Maximale Anzahl | Mindest-vCPU | Maximale Anzahl von vCPUs | Mindestschritt für vCPU | Mindestspeicher (GB) | Maximaler Arbeitsspeicher (GB) | Mindestschritt für Arbeitsspeicher (GB) | Mindestarbeitsspeicher pro 1 vCPU (GB) | Maximaler Arbeitsspeicher pro 1 vCPU (GB) | Mindestspeicher (GB) | Maximaler Speicher (GB) | Mindestspeicherschritt (GB) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Planer | 1 | 10 | 0,5 | 28 | 0,25 | 0,5 | 80 | - | 1 | 6.5 | 0,05 | 10 | - |
Trigger | 0 | 10 | 0,5 | 1 | 0,25 | 0,5 | 80 | - | 1 | 6.5 | - | - | - |
Webserver | - | - | 0,5 | 28 | 0,25 | 1 | 80 | - | 1 | 6.5 | 0,05 | 10 | - |
Worker | 1 | 100 | 0,5 | 28 | 0,25 | 0,5 | 80 | - | 1 | 6.5 | 0,05 | 10 | - |
Worker-Parameter 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.
Sie können die Menge an CPUs, Arbeitsspeicher und Speicherplatz angeben, die von Airflow-Workern in Ihrer Umgebung verwendet werden. Auf diese Weise können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung durch die Verwendung mehrerer Worker 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 > Arbeitslastkonfiguration auf Bearbeiten.
Passen Sie im Bereich Arbeitslastenkonfiguration die Parameter 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.
Geben Sie in den Feldern CPU, Arbeitsspeicher und Speicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicher für Airflow-Worker an. Jeder Worker verwendet die angegebene Menge an Ressourcen.
Klicken Sie auf Speichern.
gcloud
Die folgenden Airflow-Worker-Parameter sind verfügbar:
--min-workers
: die Anzahl der Airflow-Worker, die Ihre Umgebung immer ausführen muss. Die Anzahl der Worker in Ihrer Umgebung liegt nicht unter diesem Wert, auch wenn eine geringere Anzahl von Workern die Last bewältigen kann.--max-workers
: die maximale Anzahl von 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.--worker-cpu
: die Anzahl der CPUs für einen Airflow-Worker.--worker-memory
: die Größe des Arbeitsspeichers für einen Airflow-Worker.--worker-storage
: der Speicherplatz für einen Airflow-Worker.
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 \
--worker-cpu WORKER_CPU \
--worker-memory WORKER_MEMORY \
--worker-storage WORKER_STORAGE
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WORKERS_MIN
: die Mindestanzahl von Airflow-Workern.WORKERS_MAX
: die maximale Anzahl von Airflow-WorkernWORKER_CPU
: die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
: die Größe des Arbeitsspeichers für einen Worker.WORKER_STORAGE
: die Laufwerksgröße für einen Worker.
Beispiel:
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
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im
updateMask
-Parameter die Felder an, die Sie aktualisieren möchten. Wenn Sie beispielsweise alle Parameter für Worker aktualisieren möchten, geben Sie die Maskeconfig.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount
an.Geben Sie im Anfragetext die neuen Worker-Parameter an.
"config": {
"workloadsConfig": {
"worker": {
"minCount": WORKERS_MIN,
"maxCount": WORKERS_MAX,
"cpu": WORKER_CPU,
"memoryGb": WORKER_MEMORY,
"storageGb": WORKER_STORAGE
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WORKERS_MIN
: die Mindestanzahl von Airflow-Workern.WORKERS_MAX
: die maximale Anzahl von Airflow-WorkernWORKER_CPU
: die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
: die Größe des Arbeitsspeichers für einen Worker in GB.WORKER_STORAGE
: 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.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
Die folgenden Felder im Block workloads_config.worker
steuern die Airflow-Worker-Parameter. Jeder Worker verwendet die angegebene Menge an Ressourcen.
worker.min_count
: die Anzahl der Airflow-Worker, die Ihre Umgebung immer ausführen muss. Die Anzahl der Worker in Ihrer Umgebung liegt nicht unter diesem Wert, auch wenn eine geringere Anzahl von Workern die Last bewältigen kann.worker.max_count
: die maximale Anzahl von 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.worker.cpu
: die Anzahl der CPUs für einen Airflow-Worker.worker.memory_gb
: die Größe des Arbeitsspeichers für einen Airflow-Worker.worker.storage_gb
: die Menge an Speicherplatz für einen Airflow-Worker.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WORKERS_MIN
: die Mindestanzahl von Airflow-Workern.WORKERS_MAX
: die maximale Anzahl von Airflow-WorkernWORKER_CPU
: die Anzahl der CPUs für einen Worker in vCPU-Einheiten.WORKER_MEMORY
: die Größe des Arbeitsspeichers für einen Worker in GB.WORKER_STORAGE
: 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 {
worker {
min_count = 2
max_count = 6
cpu = 1
memory_gb = 2
storage_gb = 2
}
}
}
}
Planerparameter 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 in Ihrer Umgebung bis zu zehn Planer verwenden.
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.
Sie können die Menge an CPUs, Arbeitsspeicher und Speicherplatz angeben, die von Airflow-Planern in Ihrer Umgebung verwendet werden. Auf diese Weise können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung durch die Verwendung mehrerer Planer steigern.
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 > Arbeitslastkonfiguration auf Bearbeiten.
Passen Sie im Bereich Arbeitslastenkonfiguration die Parameter für Airflow-Planer an:
Wählen Sie in der Drop-down-Liste Anzahl der Planer die Anzahl der Planer für Ihre Umgebung aus.
Geben Sie in den Feldern CPU, Arbeitsspeicher und Speicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicher für Airflow-Planer an. Jeder Planer verwendet die angegebene Menge an Ressourcen.
Klicken Sie auf Speichern.
gcloud
Die folgenden Airflow-Planerparameter sind verfügbar:
--scheduler-count
: die Anzahl der Planer in Ihrer Umgebung.--scheduler-cpu
: die Anzahl der CPUs für einen Airflow-Planer.--scheduler-memory
: die Größe des Arbeitsspeichers für einen Airflow-Planer.--scheduler-storage
: der Speicherplatz für einen Airflow-Planer.
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-cpu SCHEDULER_CPU \
--scheduler-memory SCHEDULER_MEMORY \
--scheduler-storage SCHEDULER_STORAGE \
--scheduler-count SCHEDULER_COUNT
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.SCHEDULER_CPU
: die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
: die Größe des Arbeitsspeichers für einen Planer.SCHEDULER_STORAGE
: Die Laufwerksgröße für einen Planer.SCHEDULER_COUNT
: die Anzahl der Planer.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-cpu 0.5 \
--scheduler-memory 2.5 \
--scheduler-storage 2 \
--scheduler-count 2
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im Parameter
updateMask
die Maskeconfig.workloadsConfig.scheduler
an, um alle Planerparameter oder nur die Anzahl der Planer zu aktualisieren. Sie können auch einzelne Planerparameter mit Ausnahme voncount
aktualisieren. Geben Sie dazu eine Maske an. Beispiel:config.workloadsConfig.scheduler.cpu
Geben Sie im Anfragetext die neuen Planerparameter an.
"config": {
"workloadsConfig": {
"scheduler": {
"cpu": SCHEDULER_CPU,
"memoryGb": SCHEDULER_MEMORY,
"storageGb": SCHEDULER_STORAGE,
"count": SCHEDULER_COUNT
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.SCHEDULER_CPU
: die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
: die Größe des Arbeitsspeichers für einen Planer in GB.SCHEDULER_STORAGE
: die Laufwerksgröße für einen Planer in GB.SCHEDULER_COUNT
: die Anzahl der Planer.
Beispiel:
// 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
Die folgenden Felder im Block workloads_config.scheduler
steuern die Airflow-Planerparameter. Jeder Planer verwendet die angegebene Menge an Ressourcen.
scheduler.count
: die Anzahl der Planer in Ihrer Umgebung.scheduler.cpu
: die Anzahl der CPUs für einen Airflow-Planer.scheduler.memory_gb
: die Größe des Arbeitsspeichers für einen Airflow-Planer.scheduler.storage_gb
: der Speicherplatz für einen Planer.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.SCHEDULER_CPU
: die Anzahl der CPUs für einen Planer in vCPU-Einheiten.SCHEDULER_MEMORY
: die Größe des Arbeitsspeichers für einen Planer in GB.SCHEDULER_STORAGE
: die Laufwerksgröße für einen Planer in GB.SCHEDULER_COUNT
: die Anzahl der Planer.
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
count = 2
}
}
}
}
Triggerparameter anpassen
Sie können die Anzahl der Trigger auf null setzen, aber Sie benötigen mindestens eine Trigger-Instanz in Ihrer Umgebung (oder mindestens zwei in Umgebungen mit extrem hoher Ausfallsicherheit), um zurückstellbare Operatoren in Ihren DAGs verwenden zu können.
Je nach Robustheitsmodus Ihrer Umgebung gibt es verschiedene mögliche Konfigurationen für die Anzahl der Trigger:
- Standardausfallsicherheit: Sie können bis zu 10 Trigger ausführen.
- Hohe Ausfallsicherheit: mindestens 2 Trigger bis maximal 10.
Selbst wenn die Anzahl der Trigger auf null gesetzt ist, wird eine Trigger-Pod-Definition erstellt und im Cluster Ihrer Umgebung angezeigt. Es werden jedoch keine tatsächlichen Trigger-Arbeitslasten ausgeführt.
Sie können auch die Menge an CPUs, Arbeitsspeicher und Speicherplatz angeben, die von Airflow-Triggern in Ihrer Umgebung verwendet werden. Auf diese Weise können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung mit mehreren Triggern steigern.
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 > Arbeitslastkonfiguration auf Bearbeiten.
Passen Sie im Bereich Workloads-Konfiguration die Parameter für Airflow-Trigger an:
Geben Sie im Abschnitt Trigger im Feld Anzahl der Trigger die Anzahl der Trigger in Ihrer Umgebung ein.
Wenn Sie mindestens einen Trigger für Ihre Umgebung festlegen, verwenden Sie auch die Felder CPU und Arbeitsspeicher, um die Ressourcenzuweisung für Ihre Trigger zu konfigurieren.
Geben Sie unter CPU und Arbeitsspeicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicher für Airflow-Triggerer an. Jeder Trigger verwendet die angegebene Menge an Ressourcen.
Klicken Sie auf Speichern.
gcloud
Die folgenden Airflow-Triggerparameter sind verfügbar:
--triggerer-count
: die Anzahl der Trigger in Ihrer Umgebung.- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
0
und10
. - Verwenden Sie für Umgebungen mit extrem hoher Ausfallsicherheit
0
oder einen Wert zwischen2
und10
.
- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
--triggerer-cpu
: die Anzahl der CPUs für einen Airflow-Triggerer.--triggerer-memory
: die Größe des Arbeitsspeichers für einen Airflow-Triggerer.
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 Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.TRIGGERER_COUNT
: die Anzahl der Trigger.TRIGGERER_CPU
: die Anzahl der CPUs für einen Trigger in vCPU-Einheiten.TRIGGERER_MEMORY
: die Größe des Arbeitsspeichers für einen Trigger.
Beispiele:
- Skalieren Sie auf vier Triggerinstanzen:
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
Geben Sie im Abfrageparameter
updateMask
die Maskeconfig.workloadsConfig.triggerer
an.Geben Sie im Anfragetext alle drei Parameter für Trigger an.
"config": {
"workloadsConfig": {
"triggerer": {
"count": TRIGGERER_COUNT,
"cpu": TRIGGERER_CPU,
"memoryGb": TRIGGERER_MEMORY
}
}
}
Ersetzen Sie Folgendes:
TRIGGERER_COUNT
: die Anzahl der Trigger.- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
0
und10
. - Verwenden Sie für Umgebungen mit extrem hoher Ausfallsicherheit
0
oder einen Wert zwischen2
und10
.
- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
TRIGGERER_CPU
: die Anzahl der CPUs für einen Trigger in vCPU-Einheiten.TRIGGERER_MEMORY
: die Größe des Arbeitsspeichers für einen Trigger.
Beispiele:
- Deaktivieren Sie Trigger, indem Sie die Triggeranzahl auf
0
setzen. Bei diesem Vorgang müssen Sie für die Triggerer keine CPU oder Arbeitsspeicher angeben.
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
"workloadsConfig": {
"triggerer": {
"count": 0
}
}
}
- Skalieren Sie auf vier Triggerinstanzen:
// 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
Die folgenden Felder im Block workloads_config.triggerer
steuern die Airflow-Triggerparameter. Jeder Trigger verwendet die angegebene Menge an Ressourcen.
triggerer.count
: die Anzahl der Trigger in Ihrer Umgebung.- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
0
und10
. - Verwenden Sie für Umgebungen mit extrem hoher Ausfallsicherheit
0
oder einen Wert zwischen2
und10
.
- Verwenden Sie für standardmäßige Ausfallsicherheitsumgebungen einen Wert zwischen
triggerer.cpu
: die Anzahl der CPUs für einen Airflow-Triggerer.triggerer.memory_gb
: die Größe des Arbeitsspeichers für einen Airflow-Triggerer.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.TRIGGERER_COUNT
: die Anzahl der Trigger.TRIGGERER_CPU
: die Anzahl der CPUs für einen Trigger in vCPU-Einheiten.TRIGGERER_MEMORY
: die Größe des Arbeitsspeichers für einen Trigger in GB.
Beispiel:
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
}
}
}
}
Webserverparameter anpassen
Sie können die Menge an CPUs, Arbeitsspeicher und Speicherplatz angeben, die vom Airflow-Webserver in Ihrer Umgebung verwendet werden. Auf diese Weise können Sie die Leistung der Airflow-UI skalieren, um beispielsweise dem Bedarf einer großen Anzahl von Nutzern oder einer großen Anzahl verwalteter DAGs gerecht zu werden.
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 > Arbeitslastkonfiguration auf Bearbeiten.
Passen Sie im Bereich Workloads Configuration (Arbeitslastkonfiguration) die Parameter für den Webserver an. Geben Sie in den Feldern CPU, Arbeitsspeicher und Speicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicherplatz für den Webserver an.
Klicken Sie auf Speichern.
gcloud
Die folgenden Parameter des Airflow-Webservers sind verfügbar:
--web-server-cpu
: die Anzahl der CPUs für den Airflow-Webserver.--web-server-memory
: die Größe des Arbeitsspeichers für den Airflow-Webserver.--web-server-storage
: der Speicherplatz für den Airflow-Webserver.
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
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
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WEB_SERVER_CPU
: die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
: die Größe des Arbeitsspeichers für den Webserver.WEB_SERVER_STORAGE
: die Größe des Arbeitsspeichers für den Webserver.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-cpu 1 \
--web-server-memory 2.5 \
--web-server-storage 2
API
Erstellen Sie eine API-Anfrage
environments.patch
.In dieser Anfrage:
Geben Sie im Parameter
updateMask
die Maskeconfig.workloadsConfig.webServer
an, um alle Webserverparameter zu aktualisieren. Sie können auch einzelne Webserverparameter aktualisieren, indem Sie eine Maske für diese Parameter angeben:config.workloadsConfig.webServer.cpu
,config.workloadsConfig.webServer.memoryGb
,config.workloadsConfig.webServer.storageGb
.Geben Sie im Anfragetext die neuen Webserverparameter an.
"config": {
"workloadsConfig": {
"webServer": {
"cpu": WEB_SERVER_CPU,
"memoryGb": WEB_SERVER_MEMORY,
"storageGb": WEB_SERVER_STORAGE
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WEB_SERVER_CPU
: die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
: die Größe des Arbeitsspeichers für den Webserver in GB.WEB_SERVER_STORAGE
: die Laufwerksgröße für den Webserver in GB.
Beispiel:
// 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
Die folgenden Felder im Block workloads_config.web_server
steuern die Webserverparameter.
web_server.cpu
: die Anzahl der CPUs für den Webserver.web_server.memory_gb
: die Größe des Arbeitsspeichers für den Webserver.web_server.storage_gb
: die Menge an Speicherplatz für den Webserver.
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
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.WEB_SERVER_CPU
: die Anzahl der CPUs für den Webserver in vCPU-Einheiten.WEB_SERVER_MEMORY
: die Größe des Arbeitsspeichers für den Webserver in GB.WEB_SERVER_STORAGE
: die Laufwerksgröße für den Webserver in GB.
Beispiel:
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
}
}
}
}
Größe der Umgebung anpassen
Die Umgebungsgröße steuert die Leistungsparameter der verwalteten Cloud Composer-Infrastruktur, zu der z. B. die Airflow-Datenbank gehört.
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.
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 > Arbeitslastkonfiguration auf Bearbeiten.
Klicken Sie unter Ressourcen > Core-Infrastruktur auf Bearbeiten.
Geben Sie im Bereich 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 Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.ENVIRONMENT_SIZE
:small
,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 Folgendes:
ENVIRONMENT_SIZE
: 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 Feld environment_size
im Block config
steuert die Umgebungsgröße:
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
environment_size = "ENVIRONMENT_SIZE"
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME
: der Name der Umgebung.LOCATION
: Region, in der sich die Umgebung befindet.ENVIRONMENT_SIZE
: 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
- Umgebungsskalierung und -leistung
- Cloud Composer – Preise
- Umgebungen aktualisieren
- Umgebungsarchitektur