Umgebungen skalieren

Cloud Composer 3 | Cloud Composer 2 | Cloud Composer 1

Auf dieser Seite wird beschrieben, wie Sie Cloud Composer-Umgebungen skalieren.

Weitere Seiten zur Skalierung:

Vertikal und horizontal skalieren

Optionen für die horizontale Skalierung:

  • Passen Sie die Mindest- und Höchstzahl der Worker an.
  • Anzahl der Planer und Triggerer anpassen

Optionen für die vertikale Skalierung:

  • Passen Sie die Skalierungs- und Leistungsparameter für Worker, Planer, Triggerer und Webserver an.
  • Passen Sie die Umgebungsgröße an.

Ressourcenlimits

Komponente Mindestanzahl Maximale Anzahl Mindestanzahl an vCPUs Maximale vCPU vCPU-Mindestschritt Mindestspeicher (GB) Maximaler Arbeitsspeicher (GB) Minimaler Arbeitsspeicherschritt (GB) Mindestspeicher pro 1 vCPU (GB) Maximaler Arbeitsspeicher pro 1 vCPU (GB) Mindestspeicherplatz (GB) Maximaler Speicherplatz (GB) Mindestschritt für Speicherplatz (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 Anzahl der CPUs, den Arbeitsspeicher und den Speicherplatz angeben, die von Airflow-Workern in Ihrer Umgebung verwendet werden. So können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung, die durch die Verwendung mehrerer Worker bereitgestellt wird, steigern.

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.

  5. Passen Sie im Bereich Arbeitslastkonfiguration 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 Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert während des regulären Betriebs der Umgebung nie, auch nicht, wenn eine niedrigere Anzahl von 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.

  6. Klicken Sie auf Speichern.

gcloud

Die folgenden Airflow-Worker-Parameter sind verfügbar:

  • --min-workers: Die Anzahl der Airflow-Worker, die in Ihrer Umgebung immer ausgeführt werden müssen. Die Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nie, auch nicht, wenn eine niedrigere Anzahl von Workern die Last bewältigen kann.
  • --max-workers: Die maximale Anzahl an Airflow-Workern, die in Ihrer Umgebung ausgeführt werden können. 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: die Region, in der sich die Umgebung befindet.
  • WORKERS_MIN: Die Mindestanzahl von Airflow-Workern.
  • WORKERS_MAX: die maximale Anzahl von Airflow-Workern.
  • WORKER_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

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. 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 config.workloadsConfig.worker.cpu,config.workloadsConfig.worker.memoryGb,config.workloadsConfig.worker.storageGB,config.softwareConfig.workloadsConfig.worker.minCount,config.softwareConfig.workloadsConfig.worker.maxCount-Maske an.

    2. 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: die Region, in der sich die Umgebung befindet.
  • WORKERS_MIN: Die Mindestanzahl von Airflow-Workern.
  • WORKERS_MAX: die maximale Anzahl von Airflow-Workern.
  • WORKER_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 workloads_config.worker-Block steuern die Airflow-Worker-Parameter. Jeder Worker verwendet die angegebene Menge an Ressourcen.

  • worker.min_count: Die Anzahl der Airflow-Worker, die in Ihrer Umgebung immer ausgeführt werden müssen. Die Anzahl der Worker in Ihrer Umgebung unterschreitet diesen Wert nie, auch nicht, wenn eine niedrigere Anzahl von Workern die Last bewältigen kann.
  • worker.max_count: Die maximale Anzahl an Airflow-Workern, die in Ihrer Umgebung ausgeführt werden können. 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 Größe des Speicherplatzes 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: die Region, in der sich die Umgebung befindet.
  • WORKERS_MIN: Die Mindestanzahl von Airflow-Workern.
  • WORKERS_MAX: die maximale Anzahl von Airflow-Workern.
  • WORKER_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
      }
    }

  }
}

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.

Sie können bis zu 10 Planer in Ihrer Umgebung haben.

Beachten Sie beim Skalieren von Schedulern Folgendes:

  • In Cloud Composer 3-Umgebungen werden Airflow-DAG-Prozessoren als separate Umgebungskomponenten von Planern ausgeführt. Da der DAG-Prozessor das Parsen von DAGs vom Planer entlastet, sollten Sie möglicherweise Ressourcen neu verteilen, die zuvor Airflow-Planern zugewiesen waren.

    Da Scheduler in Cloud Composer 3 keine DAGs parsen, haben sie niedrigere Ressourcenlimits für CPU und Arbeitsspeicher als in Cloud Composer 2.

  • 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. 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 Anzahl der CPUs, den Arbeitsspeicher und den Speicherplatz angeben, die von Airflow-Planern in Ihrer Umgebung verwendet werden. So können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung, die durch die Verwendung mehrerer Scheduler bereitgestellt wird, steigern.

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.

  5. Passen Sie im Bereich Arbeitslastkonfiguration die Parameter für Airflow-Scheduler 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. Alle Planer verwenden die angegebene Menge an Ressourcen.

  6. Klicken Sie auf Speichern.

gcloud

Die folgenden Airflow-Scheduler-Parameter 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: Die Menge an Speicherplatz für einen Airflow-Scheduler.

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: die 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 Scheduler.

  • SCHEDULER_STORAGE: Die Laufwerkgröße für einen Scheduler.

  • SCHEDULER_COUNT: Die Anzahl der Scheduler.

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

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.workloadsConfig.scheduler-Maske an, um alle Planerparameter oder nur die Anzahl der Planer zu aktualisieren. Sie können auch einzelne Planerparameter mit Ausnahme von count aktualisieren, indem Sie eine Maske angeben. Beispiel: config.workloadsConfig.scheduler.cpu

    2. 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: die 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 Scheduler.

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 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.

  • 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: Die Menge an Speicherplatz für einen Scheduler.

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: die 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 Scheduler.

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. Sie benötigen jedoch mindestens eine Trigger-Instanz in Ihrer Umgebung (oder mindestens zwei in hochverfügbaren Umgebungen), um zurückstellbare Operatoren in Ihren DAGs zu verwenden.

Je nach Resilience-Modus Ihrer Umgebung sind unterschiedliche Konfigurationen für die Anzahl der Trigger möglich:

  • Standard-Resilienz: Sie können bis zu 10 Trigger ausführen.
  • Hohe Ausfallsicherheit: mindestens 2 Trigger, maximal 10 Trigger.

Auch wenn die Anzahl der Triggerer auf null gesetzt ist, wird eine Triggerer-Pod-Definition erstellt und ist im Cluster Ihrer Umgebung sichtbar. Es werden jedoch keine tatsächlichen Triggerer-Arbeitslasten ausgeführt.

Sie können auch die Anzahl der CPUs, den Arbeitsspeicher und den Speicherplatz angeben, die von Airflow-Triggern in Ihrer Umgebung verwendet werden. So können Sie die Leistung Ihrer Umgebung zusätzlich zur horizontalen Skalierung, die durch die Verwendung mehrerer Triggerer bereitgestellt wird, steigern.

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.

  5. Passen Sie im Bereich Arbeitslastkonfiguration die Parameter für Airflow-Trigger an:

    1. Geben Sie im Abschnitt Triggerer im Feld Anzahl der Triggerer die Anzahl der Triggerer 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.

    2. Geben Sie in den Feldern CPU und Arbeitsspeicher die Anzahl der CPUs, den Arbeitsspeicher und den Speicher für Airflow-Trigger an. Jeder Triggerer verwendet die angegebene Menge an Ressourcen.

  6. 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 Standardumgebungen für die Ausfallsicherheit einen Wert zwischen 0 und 10.
    • Verwenden Sie für hochgradig resiliente Umgebungen 0 oder einen Wert zwischen 2 und 10.
  • --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: die Region, in der sich die Umgebung befindet.
  • TRIGGERER_COUNT: Die Anzahl der Trigger.
  • TRIGGERER_CPU: die Anzahl der CPUs für einen Triggerer in vCPU-Einheiten.
  • TRIGGERER_MEMORY: die Größe des Arbeitsspeichers für einen Trigger.

Beispiele:

  • Auf vier Triggerer-Instanzen skalieren:
gcloud composer environments update example-environment \
  --location us-central1 \
  --triggerer-count 4 \
  --triggerer-cpu 1 \
  --triggerer-memory 1
  • Deaktivieren Sie Trigger, indem Sie die Anzahl der Trigger 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

API

  1. Geben Sie im Abfrageparameter updateMask die config.workloadsConfig.triggerer-Maske an.

  2. 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 Standardumgebungen für die Ausfallsicherheit einen Wert zwischen 0 und 10.
    • Verwenden Sie für hochgradig resiliente Umgebungen 0 oder einen Wert zwischen 2 und 10.
  • TRIGGERER_CPU: die Anzahl der CPUs für einen Triggerer in vCPU-Einheiten.

  • TRIGGERER_MEMORY: die Größe des Arbeitsspeichers für einen Trigger.

Beispiele:

  • Deaktivieren Sie Trigger, indem Sie die Anzahl der Trigger 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/v1/projects/example-project/
// locations/us-central1/environments/example-environment?updateMask=
// config.workloadsConfig.triggerer
"config": {
  "workloadsConfig": {
    "triggerer": {
      "count": 0
    }
  }
}
  • Auf vier Triggerer-Instanzen skalieren:
// 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 workloads_config.triggerer-Block steuern die Airflow-Triggerparameter. Jeder Triggerer verwendet die angegebene Menge an Ressourcen.

  • triggerer.count: Die Anzahl der Trigger in Ihrer Umgebung.

    • Verwenden Sie für Standardumgebungen für die Ausfallsicherheit einen Wert zwischen 0 und 10.
    • Verwenden Sie für hochgradig resiliente Umgebungen 0 oder einen Wert zwischen 2 und 10.
  • triggerer.cpu: Die Anzahl der CPUs für einen Airflow-Triggerer.

  • triggerer.memory_gb: die Menge an Arbeitsspeicher 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: die Region, in der sich die Umgebung befindet.
  • TRIGGERER_COUNT: Die Anzahl der Trigger.
  • TRIGGERER_CPU: die Anzahl der CPUs für einen Triggerer 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 Anzahl der CPUs, den Arbeitsspeicher und den Speicherplatz angeben, die vom Airflow-Webserver in Ihrer Umgebung verwendet werden. So können Sie die Leistung der Airflow-UI beispielsweise an die Nachfrage einer großen Anzahl von Nutzern oder einer großen Anzahl von verwalteten DAGs anpassen.

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.

  5. Passen Sie im Bereich 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 Speicher für den Webserver an.

  6. Klicken Sie auf Speichern.

gcloud

Die folgenden Airflow-Webserverparameter sind verfügbar:

  • --web-server-cpu: Die Anzahl der CPUs für den Airflow-Webserver.
  • --web-server-memory: die Menge an Arbeitsspeicher 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: die 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

  1. Erstellen Sie eine API-Anfrage environments.patch.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.workloadsConfig.webServer-Maske 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.

    2. 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: die 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 workloads_config.web_server-Block 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: der 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: die 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
      }
    }

  }
}

Umgebungsgröße anpassen

Die Umgebungsgröße steuert die Leistungsparameter der verwalteten Cloud Composer-Infrastruktur, die beispielsweise die Airflow-Datenbank enthält.

Wenn Sie eine große Anzahl von DAGs und Aufgaben ausführen möchten, sollten Sie für die Umgebungsgröße einen größeren Wert auswählen.

Console

  1. Rufen Sie in der Google Cloud -Console die Seite Umgebungen auf.

    Zur Seite Umgebungen

  2. Klicken Sie in der Liste der Umgebungen auf den Namen Ihrer Umgebung. Die Seite Umgebungsdetails wird geöffnet.

  3. Rufen Sie den Tab Umgebungskonfiguration auf.

  4. Klicken Sie unter Ressourcen > Konfiguration der Arbeitslasten auf Bearbeiten.

  5. Klicken Sie im Element Ressourcen > Kerninfrastruktur auf Bearbeiten.

  6. Geben Sie im Bereich Kerninfrastruktur im Feld Umgebungsgröße die Umgebungsgröße an.

  7. 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: die Region, in der sich die Umgebung befindet.
  • ENVIRONMENT_SIZE: small, medium oder large.

Beispiel:

gcloud composer environments update example-environment \
    --location us-central1 \
    --environment-size medium

API

  1. Erstellen Sie eine environments.patch-API-Anfrage.

  2. In dieser Anfrage:

    1. Geben Sie im updateMask-Parameter die config.environmentSize-Maske an.

    2. Geben Sie im Anfragetext die Umgebungsgröße an.

  "config": {
    "environmentSize": "ENVIRONMENT_SIZE"
  }

Ersetzen Sie Folgendes:

  • ENVIRONMENT_SIZE: die Umgebungsgröße, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM oder ENVIRONMENT_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: die Region, in der sich die Umgebung befindet.
  • ENVIRONMENT_SIZE: die Umgebungsgröße, ENVIRONMENT_SIZE_SMALL, ENVIRONMENT_SIZE_MEDIUM oder ENVIRONMENT_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