Planmäßiges Löschen von Clustern

Um Cloud de Confiance-Gebühren für einen inaktiven Cluster zu vermeiden, verwenden Sie beim Erstellen eines Clusters die Funktion zum planmäßigen Löschen von Managed Service for Apache Spark-Clustern. Mit dieser Funktion kann ein Cluster bei den folgenden Ereignissen gelöscht werden:

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

Während ein Cluster ausgeführt wird, wird das geplante Löschen durch die folgenden Aktionen deaktiviert, bis die Deaktivierungsaktion rückgängig gemacht wird:

Cluster-Leerlaufzeit berechnen

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

Die dataproc:dataproc.cluster-ttl.consider-yarn-activity-Clustereigenschaft wirkt sich folgendermaßen auf die Berechnung der Cluster-Leerlaufzeit aus:

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

Die Eigenschaft 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 und späteren Image-Versionen 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 geplante Löschen festlegen, wenn Sie einen Cluster mit der Google Cloud CLI, der Dataproc API oder der Cloud de Confiance -Konsole erstellen. Nachdem Sie den Cluster erstellt haben, können Sie ihn aktualisieren, um zuvor für den Cluster festgelegte Werte für das planmäßige Löschen zu ändern oder zu löschen.

Cloud de Confiance Console

  1. Öffnen Sie die Seite Cluster erstellen.
  2. Wählen Sie unter Einstellungen für die Kostenkontrolle definieren die Option Optionale Aufbewahrungsrichtlinie zur Kostenkontrolle festlegen aus und legen Sie dann die Einstellungen für das geplante Löschen (oder den geplanten Stopp) fest.

gcloud-CLI

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

gcloud CLI-Flag Beschreibung Detaillierungsgrad der Werte Mindestwert Höchstwert
--delete-max-idle1 Gilt für Befehle zum Erstellen und Aktualisieren von Clustern. Der Zeitraum ab dem Zeitpunkt, an dem der Cluster nach dem Erstellen oder Aktualisieren in den Leerlauf wechselt und betriebsbereit ist, bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Geben Sie die Dauer im Format IntegerUnit an, wobei die Einheit „s, m, h, d“ (Sekunden, Minuten, Stunden, Tage) sein kann. 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-Flag-Einstellung ab. Nicht zutreffend Nicht zutreffend Nicht zutreffend
--delete-expiration-time2 Gilt für Befehle zum Erstellen und Aktualisieren von Clustern. Die Zeit zum Starten des Löschvorgangs des Clusters im 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 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 Format IntegerUnit an, wobei die Einheit „s, m, h, d“ (Sekunden, Minuten, Stunden, Tage) sein kann. 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 ab, das durch die vorherige Einstellung des Flags delete-max-age oder delete-expiration-time festgelegt wurde. 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 des Clusters übergeben. Das erste eintretende Flag führt zum Löschen des Clusters.
  2. Sie können entweder das Flag delete-expiration-time oder das Flag delete-max-age an den Befehl zum Erstellen oder Aktualisieren des Clusters ü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 ein Clusterupdate:

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 geplante Löschen eines Clusters erstellen oder aktualisieren, indem Sie die in der folgenden Tabelle aufgeführten Dataproc API-Felder und -Werte für ClusterLifecycleConfig als Teil einer API-Anfrage für cluster.create oder cluster.patch für Managed Service for Apache Spark festlegen.

API-Feld Beschreibung Detaillierungsgrad der Werte Mindestwert Höchstwert
idleDeleteTtl1 Gilt für Befehle zum Erstellen und Aktualisieren von Clustern. Der Zeitraum ab dem Zeitpunkt, an dem der Cluster nach dem Erstellen oder Aktualisieren in den Leerlauf wechselt und betriebsbereit ist, bis zu dem Moment, in dem der Löschvorgang des Clusters beginnt. Beim Aktualisieren eines Clusters mit einem neuen Wert 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 einen leeren Zeitraum, um einen zuvor festgelegten Wert von idleDeleteTtl außer Kraft zu setzen. 1 Sekunde 5 Minuten 14 Tage
autoDeleteTime2 Gilt für Befehle zum Erstellen und Aktualisieren von Clustern. Die Zeit, zu der der Löschvorgang des Clusters startet. Beim Aktualisieren eines Clusters mit einem neuen Zeitpunkt muss der neue Zeitpunkt nach dem zuvor festgelegten Zeitpunkt liegen. Wenn beim Aktualisieren ein leerer Wert für autoDeleteTime festgelegt wird, wird das vorhandene 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. Beim Aktualisieren eines Clusters muss die neue Zeit für das planmäßige Löschen (Zeitpunkt der Aktualisierungsanfrage plus der neue Zeitraum) nach der zuvor festgelegten Löschzeit des Clusters liegen. Senden Sie einen leeren Wert, um einen zuvor festgelegten Wert von autoDeleteTtl außer Kraft zu setzen. 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 autoDeleteTime oder autoDeleteTtl in Ihrer Anfrage zum Erstellen oder Aktualisieren des Clusters festlegen oder aktualisieren. Das erste eintretende Flag führt zum Löschen des Clusters.
  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

Cloud de Confiance Console

  • Sie können die Einstellungen zum planmäßigen Löschen des Clusters anzeigen, indem Sie in der Cloud de Confiance console auf der Managed Service for Apache Spark-Seite Cluster den Clusternamen auswählen.
  • Wählen Sie auf der Detailseite des Clusters den Tab Konfiguration aus. Rufen Sie die Liste der Clusterkonfigurationen auf, um die Einstellungen zum planmäßigen Löschen anzuzeigen.

gcloud-CLI

Mit dem Befehl gcloud dataproc clusters list können Sie bestätigen, dass für einen Cluster das geplante Löschen 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 des Clusters LifecycleConfig zum geplanten Löschen 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'
...

Die Werte autoDeleteTime und idleDeleteTtl sind die geplanten Konfigurationswerte zum Löschen, die im Cluster festgelegt wurden. 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 cluster.list-Anfrage senden, um zu bestätigen, dass die Funktion zum planmäßigen Löschen eines Clusters aktiviert ist.