Planmäßiges Löschen von Clustern

Um Google Cloud -Gebühren für einen inaktiven Cluster zu vermeiden, verwenden Sie beim Erstellen eines Clusters das Feature „Planmäßiges Löschen von Clustern“ von Dataproc. Bei Verwendung dieser Funktion kann ein Cluster bei Eintreten der folgenden Ereignisse gelöscht werden:

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

Während ein Cluster ausgeführt wird, wird das planmäßige 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 wurde. 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 so auf die Berechnung der Cluster-Leerlaufzeit aus:

  • Diese Eigenschaft ist standardmäßig aktiviert (auf true festgelegt).
  • Wenn diese Property 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 laufende Jobs, die an die Dataproc Jobs API gesendet wurden.
  • Wenn diese Eigenschaft auf false festgelegt ist, beginnt und wird die Berechnung der Inaktivitätszeit des Clusters nur fortgesetzt, wenn die Dataproc Jobs API-Aktivität inaktiv ist.

Das Attribut 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 Google Cloud -Konsole 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.

gcloud-CLI

Sie können Werte für die geplante Löschung 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 für einen Cluster erstellen oder aktualisieren, indem Sie die in der folgenden Tabelle aufgeführten Dataproc API-Felder und -Werte für ClusterLifecycleConfig als Teil einer Dataproc API-Anfrage cluster.create oder cluster.patch 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 neuer 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 in Ihrer Anfrage entweder autoDeleteTime oder autoDeleteTtl festlegen oder aktualisieren, aber nicht beides.

Console

  1. Öffnen Sie die Dataproc-Seite Cluster erstellen.
  2. Wählen Sie den Bereich Cluster anpassen aus.
  3. Wählen Sie im Abschnitt Geplantes Löschen die Optionen aus, die auf Ihren Cluster angewendet werden sollen.

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

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 zum geplanten Löschen LifecycleConfig 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. Dataproc generiert den Wert idleStartTime, die letzte Startzeit für die Inaktivität des Clusters. Dataproc 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.

Console

  • Sie können die Einstellungen zum planmäßigen Löschen des Clusters anzeigen, indem Sie in der Google Cloud console auf der Dataproc-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.