Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1
Auf dieser Seite wird beschrieben, wie Sie Cloud Composer-Umgebungen skalieren.
- Informationen zur Funktionsweise der Umgebungsskalierung finden Sie unter Umgebungsskalierung.
Vertikal und horizontal skalieren
In Cloud Composer 1 definieren Sie keine spezifischen CPU- und Arbeitsspeicherressourcen für Cloud Composer- und Airflow-Komponenten wie Worker und Planer. Stattdessen geben Sie die Anzahl und den Typ der Maschinen für Knoten im Cluster Ihrer Umgebung an.
Optionen für die horizontale Skalierung:
- Anzahl der Knoten anpassen
- Anzahl der Planer anpassen
Optionen für die vertikale Skalierung:
- Maschinentyp der Cloud SQL-Instanz anpassen
- Maschinentyp des Webservers anpassen
Planungsparameter 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.
Wenn in Ihrer Umgebung Airflow 2 verwendet wird, können Sie eine Anzahl an Planern angeben, wobei die Höchstzahl der Anzahl der Knoten in Ihrer Umgebung entspricht.
Beachten Sie beim Skalieren von Schedulern Folgendes:
Durch die Erhöhung der Anzahl der Planer wird die Airflow-Leistung nicht immer verbessert.
Dies kann beispielsweise 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.
Weitere Informationen zur Konfiguration mehrerer Planer finden Sie in der Airflow-Dokumentation.
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 > Konfiguration der Arbeitslasten auf Bearbeiten.
Klicken Sie im Element Ressourcen > Anzahl der Planer auf Bearbeiten.
Geben Sie im Bereich Planerkonfiguration im Feld Anzahl der Planer die Anzahl der Planer für Ihre Umgebung an.
Klicken Sie auf Speichern.
gcloud
Die folgenden Airflow-Scheduler-Parameter sind verfügbar:
--scheduler-count: die Anzahl der Planer in Ihrer Umgebung.
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--scheduler-count SCHEDULER_COUNT
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--scheduler-count 2
API
Erstellen Sie eine API-Anfrage
environments.patch.In dieser Anfrage:
Geben Sie im
updateMask-Parameter dieconfig.workloadsConfig.schedulerCount-Maske an.Geben Sie im Anfragetext die Anzahl der Planer für Ihre Umgebung an.
"config": {
"workloadsConfig": {
"scheduler": {
"count": SCHEDULER_COUNT
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.SCHEDULER_COUNT: die Anzahl der Scheduler.
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.scheduler
"config": {
"workloadsConfig": {
"scheduler": {
"count": 2
}
}
}
Terraform
Die folgenden Felder im workloads_config.scheduler-Block steuern die Airflow-Planerparameter. Alle Planer verwenden die angegebene Menge an Ressourcen.
scheduler.count: die Anzahl der Planer in Ihrer Umgebung.
resource "google_composer_environment" "example" {
provider = google-beta
name = "ENVIRONMENT_NAME"
region = "LOCATION"
config {
workloads_config {
scheduler {
count = SCHEDULER_COUNT
}
}
}
}
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.SCHEDULER_COUNT: die Anzahl der Scheduler.
Beispiel:
resource "google_composer_environment" "example" {
provider = google-beta
name = "example-environment"
region = "us-central1"
config {
workloads_config {
scheduler {
count = 2
}
}
}
}
Anzahl der Knoten anpassen
Sie können die Anzahl der Knoten in Ihrer Umgebung ändern.
Diese Anzahl entspricht der Anzahl der Airflow-Worker in Ihrer Umgebung. Neben der Ausführung von Airflow-Workern führen Ihre Umgebungsknoten auch Airflow-Planer und andere Umgebungskomponenten aus.
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 im Element Worker-Knoten > Knotenzahl auf Bearbeiten.
Geben Sie im Bereich Worker-Knoten konfigurieren im Feld Anzahl der Knoten die Anzahl der Knoten in Ihrer Umgebung an.
Klicken Sie auf Speichern.
gcloud
Das --node-count-Argument steuert die Anzahl der Knoten in Ihrer Umgebung:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--zone NODE_ZONE \
--node-count NODE_COUNT
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.NODE_COUNT: Die Anzahl der Knoten. Die Mindestanzahl von Knoten beträgt3.NODE_ZONE: die Compute Engine-Zone für Ihre Umgebungs-VMs.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--zone us-central1-a \
--node-count 6
API
Erstellen Sie eine
environments.patch-API-Anfrage.In dieser Anfrage gilt:
Geben Sie im
updateMask-Parameter dieconfig.nodeCount-Maske an.Geben Sie im Anfragetext die Anzahl der Knoten für Ihre Umgebung an.
"config": {
"nodeCount": NODE_COUNT
}
Ersetzen Sie Folgendes:
NODE_COUNT: Die Anzahl der Knoten. Die Mindestanzahl von Knoten beträgt3.
Beispiel:
// PATCH https://composer.googleapis.com/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.nodeCount
"config": {
"nodeCount": 6
}
Terraform
Das Feld node_count im Block node_config gibt die Anzahl der Knoten in Ihrer Umgebung an.
resource "google_composer_environment" "example" {
config {
node_config {
node_count = NODE_COUNT
}
}
Ersetzen Sie Folgendes:
NODE_COUNT: Die Anzahl der Knoten.
Beispiel:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
node_config {
node_count = 4
}
}
Maschinentyp der Cloud SQL-Instanz anpassen
Sie können den Maschinentyp der Cloud SQL-Instanz ändern, in der die Airflow-Datenbank Ihrer Umgebung gespeichert ist.
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 im Element Ressourcen > Cloud SQL-Maschinentyp auf Bearbeiten.
Wählen Sie im Bereich Cloud SQL-Konfiguration in der Drop-down-Liste Cloud SQL-Maschinentyp den Maschinentyp für die Cloud SQL-Instanz Ihrer Umgebung aus.
Klicken Sie auf Speichern.
gcloud
Mit den --cloud-sql-machine-type-Argumenten wird der Maschinentyp der Cloud SQL-Instanz in Ihrer Umgebung gesteuert.
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--cloud-sql-machine-type SQL_MACHINE_TYPE
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.SQL_MACHINE_TYPE: der Maschinentyp der Cloud SQL-Instanz.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--cloud-sql-machine-type db-n1-standard-2
API
Erstellen Sie eine API-Anfrage
environments.patch.In dieser Anfrage:
Geben Sie im
updateMask-Parameter dieconfig.databaseConfig.machineType-Maske an.Geben Sie im Anfragetext den Maschinentyp für die Cloud SQL-Instanz an.
{
"config": {
"databaseConfig": {
"machineType": "SQL_MACHINE_TYPE"
}
}
}
Ersetzen Sie Folgendes:
SQL_MACHINE_TYPE: Der Maschinentyp für die Cloud SQL-Instanz.
Beispiel:
// 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
Das Feld machine_type im Block database_config gibt den Maschinentyp für die Cloud SQL-Instanz an.
resource "google_composer_environment" "example" {
config {
database_config {
machine_type = "SQL_MACHINE_TYPE"
}
}
}
Ersetzen Sie Folgendes:
SQL_MACHINE_TYPE: Der Maschinentyp für die Cloud SQL-Instanz.
Beispiel:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
database_config {
machine_type = "db-n1-standard-2"
}
}
Maschinentyp des Webservers anpassen
Sie können den Maschinentyp für den Airflow-Webserver Ihrer Umgebung ändern.
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 im Element Ressourcen > Webserver-Maschinentyp auf Bearbeiten.
Wählen Sie im Bereich Webserverkonfiguration in der Drop-down-Liste Webservermaschinentyp den Maschinentyp für den Airflow-Webserver aus.
Klicken Sie auf Speichern.
gcloud
Mit den --web-server-machine-type-Argumenten wird der Maschinentyp der Airflow-Webserverinstanz in Ihrer Umgebung gesteuert.
Führen Sie den folgenden Google Cloud CLI-Befehl aus:
gcloud composer environments update ENVIRONMENT_NAME \
--location LOCATION \
--web-server-machine-type WS_MACHINE_TYPE
Ersetzen Sie Folgendes:
ENVIRONMENT_NAME: der Name der Umgebung.LOCATION: die Region, in der sich die Umgebung befindet.WS_MACHINE_TYPE: der Maschinentyp für die Airflow-Webserverinstanz.
Beispiel:
gcloud composer environments update example-environment \
--location us-central1 \
--web-server-machine-type composer-n1-webserver-2
API
Erstellen Sie eine API-Anfrage
environments.patch.In dieser Anfrage:
Geben Sie im
updateMask-Parameter dieconfig.webServerConfig.machineType-Maske an.Geben Sie im Anfragetext den Maschinentyp für den Webserver an.
{
"config": {
"webServerConfig": {
"machineType": "WS_MACHINE_TYPE"
}
}
}
Ersetzen Sie Folgendes:
WS_MACHINE_TYPE: der Maschinentyp für die Airflow-Webserverinstanz.
Beispiel:
// 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
Das Feld machine_type im Block web_server_config gibt den Maschinentyp für die Airflow-Webserverinstanz an.
resource "google_composer_environment" "example" {
config {
web_server_config {
machine_type = "WS_MACHINE_TYPE"
}
}
}
Ersetzen Sie Folgendes:
WS_MACHINE_TYPE: der Maschinentyp für die Airflow-Webserverinstanz.
Beispiel:
resource "google_composer_environment" "example" {
name = "example-environment"
region = "us-central1"
config {
web_server_config {
machine_type = "composer-n1-webserver-2"
}
}
Nächste Schritte
- Umgebungsskalierung und Leistung
- Cloud Composer – Preise
- Umgebungen aktualisieren
- Umgebungsarchitektur