Eliminazione pianificata dei cluster

Per evitare addebiti per un cluster inattivo, utilizza la funzionalità di eliminazione pianificata del cluster di Dataproc quando crei un cluster.Google Cloud Questa funzionalità offre opzioni per eliminare un cluster quando si verificano i seguenti eventi:

Azioni che disabilitano l'eliminazione pianificata

Mentre un cluster è in esecuzione, le seguenti azioni disabilitano l'eliminazione pianificata fino a quando l'azione di disabilitazione non viene annullata:

Calcolare il tempo di inattività del cluster

Puoi utilizzare l'eliminazione pianificata per eliminare un cluster dopo un determinato periodo di inattività. Il tempo di inattività viene calcolato dopo la creazione del cluster e il completamento del provisioning del cluster. Il calcolo del tempo di inattività inizia quando un cluster non ha job in esecuzione.

La proprietà del cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity influisce sul calcolo del tempo di inattività del cluster nel modo seguente:

  • Questa proprietà è abilitata (impostata su true) per impostazione predefinita.
  • Quando questa proprietà è abilitata, sia l'attività dell'API YARN che quella dell'API Dataproc Jobs devono essere inattive per avviare e continuare a incrementare il calcolo del tempo di inattività del cluster.
    • L'attività YARN include le applicazioni YARN in attesa e in esecuzione.
    • L'attività dell'API Dataproc Jobs include i job in attesa e in esecuzione inviati all'API Dataproc Jobs.
  • Quando questa proprietà è impostata su false, il calcolo del tempo di inattività del cluster inizia e continua solo quando l'attività dell'API Dataproc Jobs è inattiva.

La proprietà dataproc:dataproc.cluster-ttl.consider-yarn-activity si applica ai cluster creati con versioni dell'immagine rilasciate a partire da 1.4.64, 1.5.39, 2.0.13 e versioni successive dell'immagine. Per i cluster creati con versioni precedenti dell'immagine, per il calcolo del tempo di inattività del cluster viene presa in considerazione solo l'attività dell'API Dataproc Jobs.

Utilizzare l'eliminazione pianificata del cluster

Puoi impostare i valori di eliminazione pianificata quando crei un cluster utilizzando la Google Cloud CLI, l'API Dataproc o la Google Cloud console. Dopo aver creato il cluster, puoi aggiornarlo per modificare o eliminare i valori di eliminazione pianificata impostati in precedenza sul cluster.

gcloud CLI

Puoi creare o aggiornare i valori di eliminazione pianificata su un cluster passando i flag e i valori elencati nella tabella seguente ai gcloud dataproc clusters create o gcloud dataproc clusters update comandi.

Flag gcloud CLI Descrizione Granularità del valore Valore min Valore massimo
--delete-max-idle1 Si applica ai comandi di creazione e aggiornamento del cluster. La durata dal momento in cui il cluster diventa inattivo dopo la creazione o l'aggiornamento e si trova in uno stato pronto all'uso al momento in cui il cluster inizia a essere eliminato. Fornisci la durata nel IntegerUnit formato, dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni). Esempio: "30m": 30 minuti dal momento in cui il cluster diventa inattivo. 1 secondo 5 minuti 14 giorni
--no-delete-max-idle Si applica solo al comando di aggiornamento del cluster. Annulla l'eliminazione del cluster tramite l'impostazione del flag delete-max-idle precedente. non applicabile non applicabile non applicabile
--delete-expiration-time2 Si applica ai comandi di creazione e aggiornamento del cluster. L'ora di inizio dell'eliminazione del cluster in formato di data e ora ISO 8601. Per generare la data e l'ora nel formato corretto, puoi utilizzare il generatore di timestamp. Ad esempio, "2017-08-22T13:31:48-08:00" specifica un'ora di scadenza di 13:21:48 nel fuso orario UTC -8:00.1 secondo 10 minuti dall'ora attuale 14 giorni dall'ora attuale
--delete-max-age2 Si applica ai comandi di creazione e aggiornamento del cluster. La durata dal momento dell'invio della richiesta di creazione del cluster al momento in cui il cluster inizia a essere eliminato. Fornisci la durata nel IntegerUnit formato, dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni). Esempi: "30m": 30 minuti da ora; "1d": 1 giorno da ora. 1 secondo 10 minuti 14 giorni
--no-delete-max-age Si applica solo al comando di aggiornamento del cluster. Annulla l'eliminazione automatica del cluster tramite l'impostazione del flag precedente delete-max-age o delete-expiration-time. Non applicabile Non applicabile Non applicabile
Note:
  1. Puoi passare il delete-max-idle flag con il delete-expiration-time o delete-max-age flag nella tua richiesta di creazione o aggiornamento del cluster. La prima condizione a diventare vera viene applicata per eliminare il cluster.
  2. Puoi passare il flag delete-expiration-time o il flag delete-max-age al comando di creazione o aggiornamento del cluster, ma non entrambi.

Esempio di creazione del cluster:

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

Esempio di aggiornamento del cluster:

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

API REST

cluster.patch

Campo API Descrizione Granularità del valore Valore min Valore massimo
idleDeleteTtl1 Si applica ai comandi di creazione e aggiornamento del cluster. La durata dal momento in cui il cluster diventa inattivo dopo la creazione o l'aggiornamento e si trova in uno stato pronto all'uso al momento in cui il cluster inizia a essere eliminato. Quando aggiorni un cluster con un nuovo valore, il nuovo valore deve essere maggiore del valore impostato in precedenza. Fornisci una durata in secondi con un massimo di nove cifre frazionarie, terminata da 's'. Esempio: "3.5s". Invia una durata vuota per annullare un valore idleDeleteTtl impostato in precedenza. 1 secondo 5 minuti 14 giorni
autoDeleteTime2 Si applica ai comandi di creazione e aggiornamento del cluster. L'ora di inizio dell'eliminazione del cluster. Quando aggiorni un cluster con una nuova ora, la nuova ora deve essere successiva all'ora impostata in precedenza. Durante l'aggiornamento, se viene impostato un valore vuoto per autoDeleteTime, l'eliminazione automatica esistente viene annullata.
Fornisci un timestamp nel formato "Zulu" UTC RFC 3339, preciso al nanosecondo. Esempio: "2014-10-02T15:01:23.045123456Z".
1 secondo 10 minuti dall'ora attuale 14 giorni dall'ora attuale
autoDeleteTtl2 La durata dal momento dell'invio della richiesta di creazione o aggiornamento del cluster al momento in cui il cluster inizia a essere eliminato. Quando aggiorni un cluster, la nuova ora di eliminazione pianificata (ora della richiesta di aggiornamento più la nuova durata) deve essere successiva all'ora di eliminazione del cluster impostata in precedenza. Invia un valore vuoto per annullare un valore autoDeleteTtl impostato in precedenza. Fornisci una durata in secondi con un massimo di nove cifre frazionarie, terminata da "s". Esempio: "3.5s". 1 secondo 10 minuti 14 giorni
Note:
  1. Puoi impostare o aggiornare sia idleDeleteTtl sia autoDeleteTime o autoDeleteTtl nella richiesta di creazione o aggiornamento del cluster. La prima condizione a diventare vera viene applicata per eliminare il cluster.
  2. Puoi impostare o aggiornare autoDeleteTime o autoDeleteTtl nella richiesta, ma non entrambi.

Console

  1. Apri la pagina Crea un cluster di Dataproc.
  2. Seleziona il riquadro Personalizza cluster.
  3. Nella sezione Eliminazione pianificata, seleziona le opzioni da applicare al cluster.

Visualizzare le impostazioni del cluster di eliminazione pianificata

gcloud CLI

Puoi utilizzare il comando gcloud dataproc clusters list per verificare che l'eliminazione pianificata sia abilitata per un cluster.

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

Puoi utilizzare il comando gcloud dataproc clusters describe per controllare le impostazioni di eliminazione pianificata del cluster LifecycleConfig.

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 e idleDeleteTtl sono i valori di configurazione dell'eliminazione pianificata impostati sul cluster. Dataproc genera il valore idleStartTime, che è l'ultima ora di inizio dell'inattività del cluster. Dataproc elimina il cluster se rimane inattivo a idleStartTime + idleDeleteTtl.

API REST

Puoi inviare una clusters.list per verificare che l'eliminazione pianificata sia abilitata per un cluster.

Console

  • Puoi visualizzare le impostazioni di eliminazione pianificata del cluster selezionando il nome del cluster dalla pagina Cluster Dataproc nella Google Cloud console.
  • Nella pagina dei dettagli del cluster, seleziona la Configurazione scheda. Vai all'elenco delle configurazioni del cluster per visualizzare le impostazioni di eliminazione pianificata.