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:
- Nach einem bestimmten Zeitraum, in dem der Cluster inaktiv war
- Zu einem bestimmten zukünftigen Zeitpunkt
- Nach einem bestimmten Zeitraum, der mit dem Senden der Anfrage zur Clustererstellung beginnt
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:
- Entfernen der IAM-Rolle Dataproc-Dienst-Agent für das Dataproc-Dienst-Agent-Dienstkonto
- Deaktivieren der Dataproc API im Clusterprojekt
- Aktivieren des Compute Engine-VM-Löschschutzes auf einer VM des Clusters, der für das Löschen geplant ist
- Aktivieren von VPC Service Controls, wenn das Dataproc-Dienstkonto des Dienst-Agents (Identität der Steuerungsebene) nicht innerhalb der Umkreisgrenze liegt
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-idle 1 |
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-time 2 |
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-age 2 |
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 |
- Sie können das Flag
delete-max-idle
mit dem Flagdelete-expiration-time
oderdelete-max-age
in Ihrer Anfrage zum Erstellen oder Aktualisieren des Clusters übergeben. Das erste eintretende Flag führt zum Löschen des Clusters. - Sie können entweder das Flag
delete-expiration-time
oder das Flagdelete-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 |
---|---|---|---|---|
idleDeleteTtl 1 |
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 |
autoDeleteTime 2 |
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 |
autoDeleteTtl 2 |
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 |
- Sie können sowohl
idleDeleteTtl
als auchautoDeleteTime
oderautoDeleteTtl
in Ihrer Anfrage zum Erstellen oder Aktualisieren des Clusters festlegen oder aktualisieren. Das erste eintretende Flag führt zum Löschen des Clusters. - Sie können in Ihrer Anfrage entweder
autoDeleteTime
oderautoDeleteTtl
festlegen oder aktualisieren, aber nicht beides.
Console
- Öffnen Sie die Dataproc-Seite Cluster erstellen.
- Wählen Sie den Bereich Cluster anpassen aus.
- 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
... 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.