Planmäßiges Löschen von Clustern

Um Gebühren für einen inaktiven Cluster zu vermeiden, verwenden Sie beim Erstellen eines Clusters die Funktion zum planmäßigen Löschen von Clustern im Managed Service for Apache Spark.Google CloudMit dieser Funktion können Sie einen Cluster löschen, wenn eines der folgenden Ereignisse eintritt:

Aktionen, die das planmäßige Löschen deaktivieren

Während ein Cluster ausgeführt wird, deaktivieren die folgenden Aktionen das planmäßige Löschen, bis die deaktivierende Aktion rückgängig gemacht wird:

Inaktivitätszeit des Clusters berechnen

Sie können das planmäßige Löschen verwenden, um einen Cluster nach einer bestimmten Inaktivitätszeit zu löschen. Die Inaktivitätszeit wird berechnet, nachdem der Cluster erstellt und die Clusterbereitstellung abgeschlossen wurde. Die Berechnung der Inaktivitätszeit beginnt, wenn auf einem Cluster keine Jobs ausgeführt werden.

Die dataproc:dataproc.cluster-ttl.consider-yarn-activity Cluster Property wirkt sich wie folgt auf die Berechnung der Inaktivitätszeit des Clusters aus:

  • Diese Property ist standardmäßig aktiviert (true).
  • Wenn diese Property aktiviert ist, müssen sowohl YARN- als auch Dataproc Jobs API-Aktivität inaktiv sein, damit die Berechnung der Inaktivitätszeit des Clusters gestartet und fortgesetzt werden kann.
    • Die YARN-Aktivität umfasst ausstehende und ausgeführte YARN-Anwendungen.
    • Die Dataproc Jobs API-Aktivität umfasst ausstehende und ausgeführte Jobs, die an die Dataproc Jobs API gesendet wurden.
  • Wenn diese Property auf false gesetzt ist, wird die Berechnung der Inaktivitätszeit des Clusters nur gestartet und fortgesetzt, wenn die Dataproc Jobs API-Aktivität inaktiv ist.

Die Property dataproc:dataproc.cluster-ttl.consider-yarn-activity gilt für Cluster, die mit Image-Versionen erstellt wurden, die am oder nach dem 1.4.64, 1.5.39, 2.0.13 veröffentlicht wurden. Bei Clustern, die mit früheren Image-Versionen erstellt wurden, wird bei der Berechnung der Inaktivitätszeit des Clusters nur die Dataproc Jobs API-Aktivität berücksichtigt.

Planmäßiges Löschen von Clustern verwenden

Sie können Werte für das planmäßige Löschen festlegen, wenn Sie einen Cluster mit der Google Cloud CLI, der Dataproc API oder der Google Cloud Console erstellen. Nachdem Sie den Cluster erstellt haben, können Sie ihn aktualisieren, um zuvor festgelegte Werte für das planmäßige Löschen zu ändern oder zu löschen.

Google Cloud Console

  1. Öffnen Sie die Seite Cluster erstellen.
  2. Wählen Sie unter Einstellungen zur Kostenkontrolle definieren die Option Optionale Aufbewahrungsrichtlinie zur Kostenkontrolle festlegen aus, und wählen Sie dann die Einstellungen für das planmäßige Löschen (oder das planmäßige Beenden) aus.

gcloud CLI

Sie können Werte für das planmäßige Löschen für einen Cluster erstellen oder aktualisieren, indem Sie die in der folgenden Tabelle aufgeführten Flags und Werte an die gcloud dataproc clusters create oder gcloud dataproc clusters update Befehle übergeben.

gcloud CLI-Flag Beschreibung Granularität des Werts Mindestwert Höchstwert
--delete-max-idle1 Gilt für die Befehle zum Erstellen und Aktualisieren von Clustern. Die Dauer ab dem Zeitpunkt, zu dem der Cluster inaktiv wird, nachdem er erstellt oder aktualisiert wurde und sich in einem einsatzbereiten Zustand befindet, bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Geben Sie die Dauer im IntegerUnit Format an. Die Einheit kann „s, m, h, d“ (Sekunden, Minuten, Stunden, Tage) sein. Beispiel: „30m“: 30 Minuten ab dem Zeitpunkt zu dem der Cluster inaktiv wird. 1 Sekunde 5 Minuten 14 Tage
--no-delete-max-idle Gilt nur für den Befehl zum Aktualisieren von Clustern. Bricht das Löschen des Clusters durch die vorherige delete-max-idle Einstellung des Flags ab. Nicht zutreffend Nicht zutreffend Nicht zutreffend
--delete-expiration-time2 Gilt für die Befehle zum Erstellen und Aktualisieren von Clustern. Die Zeit zum Starten des Löschvorgangs des Clusters in ISO 8601-Datetime-Format. Mit dem Zeitstempel-Generator können Sie Datum/Uhrzeit mühelos im richtigen Format generieren. „2017-08-22T13:31:48-08:00“ gibt beispielsweise die Ablaufzeit 13:21:48 in der Zeitzone UTC -8:00 an.1 Sekunde 10 Minuten ab der aktuellen Uhrzeit 14 Tage ab der aktuellen Uhrzeit
--delete-max-age2 Gilt für die Befehle zum Erstellen und Aktualisieren von Clustern. Der Zeitraum ab der Übergabe der Anfrage zur Erstellung des Clusters bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Geben Sie die Dauer im IntegerUnit Format an. Die Einheit kann „s, m, h, d“ (Sekunden, Minuten, Stunden, Tage) sein. Beispiele: „30m“: 30 Minuten ab jetzt; „1d“: 1 Tag ab jetzt. 1 Sekunde 10 Minuten 14 Tage
--no-delete-max-age Gilt nur für den Befehl zum Aktualisieren von Clustern. Bricht das automatische Löschen des Clusters durch die vorherige delete-max-age oder delete-expiration-time Flag Einstellung ab. Nicht zutreffend Nicht zutreffend Nicht zutreffend
Hinweise:
  1. Sie können das Flag delete-max-idle mit dem Flag delete-expiration-time oder delete-max-age in Ihrer Anfrage zum Erstellen oder Aktualisieren von Clustern übergeben. Die erste Bedingung, die erfüllt wird, löscht den Cluster.
  2. Sie können entweder das Flag delete-expiration-time oder das Flag delete-max-age an den Befehl zum Erstellen oder Aktualisieren von Clustern übergeben, aber nicht beide.

Beispiel für die Clustererstellung:

gcloud dataproc clusters create CLUSTER_NAME \
    --region=REGION \
    --delete-max-idle=DURATION \
    --delete-expiration-time=TIME \
    ... other flags ...

Beispiel für die Clusteraktualisierung:

gcloud dataproc clusters update CLUSTER_NAME \
    --region=REGION \
    --delete-max-idle=DURATION \
    --no-delete-max-age \
    ... other flags

REST API

Sie können Werte für das planmäßige Löschen für einen Cluster erstellen oder aktualisieren, indem Sie die in der folgenden Tabelle aufgeführten Dataproc API ClusterLifecycleConfig -Felder und -Werte als Teil einer API-Anfrage zum Erstellen oder Aktualisieren von Clustern im Managed Service for Apache Spark cluster.create oder cluster.patch festlegen.

API-Feld Beschreibung Granularität des Werts Mindestwert Höchstwert
idleDeleteTtl1 Gilt für die Befehle zum Erstellen und Aktualisieren von Clustern. Die Dauer ab dem Zeitpunkt, zu dem der Cluster inaktiv wird, nachdem er erstellt oder aktualisiert wurde und sich in einem einsatzbereiten Zustand befindet, bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Wenn Sie einen Cluster mit einem neuen Wert aktualisieren, muss der neue Wert größer als der zuvor festgelegte Wert sein. Geben Sie eine Dauer in Sekunden mit bis zu neun Nachkommastellen und einem „s“ an letzter Stelle an. Beispiel: „3.5s“. Senden Sie eine leere Dauer, um einen zuvor festgelegten Wert von idleDeleteTtl außer Kraft zu setzen. 1 Sekunde 5 Minuten 14 Tage
autoDeleteTime2 Gilt für die Befehle zum Erstellen und Aktualisieren von Clustern. Die Zeit, zu der der Löschvorgang des Clusters startet. Wenn Sie einen Cluster mit einer neuen Zeit aktualisieren, muss die neue Zeit nach der zuvor festgelegten Zeit liegen. Wenn Sie einen Cluster aktualisieren und für autoDeleteTime ein leerer Wert festgelegt wird, wird das automatische Löschen abgebrochen.
Geben Sie einen Zeitstempel im Format RFC 3339 UTC „Zulu“ in Nanosekunden an. Beispiel: „2014-10-02T15:01:23.045123456Z“.
1 Sekunde 10 Minuten ab der aktuellen Uhrzeit 14 Tage ab der aktuellen Uhrzeit
autoDeleteTtl2 Der Zeitraum ab dem Zeitpunkt der Übergabe des Requests zur Erstellung oder Aktualisierung des Clusters bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Wenn Sie einen Cluster aktualisieren, muss die neue Zeit für das planmäßige Löschen (Zeitpunkt der Aktualisierungsanfrage plus die neue Dauer) nach der zuvor festgelegten Zeit für das Löschen des Clusters liegen. Senden Sie einen leeren Wert zum Abbrechen eines zuvor festgelegten Werts autoDeleteTtl. Geben Sie eine Dauer in Sekunden mit bis zu neun Nachkommastellen und einem „s“ an letzter Stelle an. Beispiel: "3.5s". 1 Sekunde 10 Minuten 14 Tage
Hinweise:
  1. Sie können sowohl idleDeleteTtl als auch entweder autoDeleteTime oder autoDeleteTtl in Ihrer Anfrage zum Erstellen oder Aktualisieren von Clustern festlegen oder aktualisieren. Die erste Bedingung, die erfüllt wird, löscht den Cluster.
  2. Sie können entweder autoDeleteTime oder autoDeleteTtl in Ihrer Anfrage festlegen oder aktualisieren, aber nicht beide.

Einstellungen zum planmäßigen Löschen von Clustern aufrufen

Google Cloud Console

  • Sie können die Einstellungen zum planmäßigen Löschen von Clustern aufrufen, indem Sie den Clusternamen in der Console auf der Seite „Managed Service for Apache Spark Cluster“ auswählen. Google Cloud
  • Wählen Sie auf der Cluster-Detailseite den Tab Konfiguration aus. Rufen Sie die Liste der Clusterkonfigurationen auf, um die Einstellungen zum planmäßigen Löschen aufzurufen.

gcloud CLI

Sie können den Befehl gcloud dataproc clusters list verwenden, um zu bestätigen, dass die Funktion zum planmäßigen Löschen eines Clusters aktiviert ist.

 gcloud dataproc clusters list \
     --region=REGION
Beispielausgabe:
...
NAME         WORKER_COUNT ... SCHEDULED_DELETE
CLUSTER_ID   NUMBER       ... enabled
...

Mit dem Befehl gcloud dataproc clusters describe können Sie die Einstellungen zum planmäßigen Löschen von LifecycleConfig des Clusters prüfen.

gcloud dataproc clusters describe CLUSTER_NAME \
    --region=REGION
...
lifecycleConfig:
  autoDeleteTime: '2018-11-28T19:33:48.146Z'
  idleDeleteTtl: 1800s
  idleStartTime: '2018-11-28T18:33:48.146Z'
...

autoDeleteTime und idleDeleteTtl sind die für den Cluster festgelegten Konfigurationswerte für das planmäßige Löschen. Managed Service for Apache Spark generiert den Wert idleStartTime, die letzte Startzeit für die Inaktivität des Clusters. Managed Service for Apache Spark löscht den Cluster, wenn der Cluster bei den Werten idleStartTime + idleDeleteTtl inaktiv bleibt.

REST API

Sie können eine clusters.list -Anfrage senden, um zu bestätigen, dass die Funktion zum planmäßigen Löschen eines Clusters aktiviert ist.