Per evitare addebiti Google Cloud per un cluster inattivo, utilizza la funzionalità di eliminazione pianificata dei cluster di Managed Service for Apache Spark quando crei un cluster. Questa funzionalità offre opzioni per eliminare un cluster al verificarsi dei seguenti eventi:
- Dopo un periodo di inattività del cluster specificato
- In un momento futuro specificato
- Dopo un periodo specificato che inizia dal momento dell'invio della richiesta di creazione del cluster
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:
- Rimozione del ruolo IAM Agente di servizio Managed Service for Apache Spark nel service account dell'agente di servizio Dataproc
- Disabilitazione dell'API Dataproc nel progetto del cluster
- Abilitazione della protezione dall'eliminazione delle VM di Compute Engine su una VM del cluster di eliminazione pianificata
- Abilitazione dei Controlli di servizio VPC se il service account dell'agente di servizio Managed Service for Apache Spark (identità del piano di controllo) non si trova all'interno del perimetro
Calcolare il tempo di inattività del cluster
Puoi utilizzare l'eliminazione pianificata per eliminare un cluster dopo un periodo di inattività del cluster specificato. 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 Managed Service for Apache Spark 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 Managed Service for Apache Spark Jobs include i job in attesa e in esecuzione inviati all'API Managed Service for Apache Spark Jobs.
- Quando questa proprietà è impostata su
false, il calcolo del tempo di inattività del cluster inizia e continua solo quando l'attività dell'API Managed Service for Apache Spark Jobs è inattiva.
La proprietà dataproc:dataproc.cluster-ttl.consider-yarn-activity si applica ai cluster creati con versioni immagine rilasciate a partire da 1.4.64, 1.5.39, 2.0.13 e versioni immagine successive. Per i cluster creati con versioni immagine precedenti, per il calcolo del tempo di inattività del cluster viene considerata solo l'attività dell'API Managed Service for Apache Spark Jobs.
Utilizzare l'eliminazione pianificata dei 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 dei cluster.
La durata dal momento in cui il cluster diventa inattivo dopo la
creazione o l'aggiornamento e si trova in uno stato pronto per l'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 in base all'impostazione del flag delete-max-idle
precedente. |
non applicabile | non applicabile | non applicabile |
--delete-expiration-time2 |
Si applica ai comandi di creazione e aggiornamento dei 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 dei 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 in base all'impostazione del flag precedente
delete-max-age o delete-expiration-time. |
Non applicabile | Non applicabile | Non applicabile |
- Puoi passare il
delete-max-idleflag con ildelete-expiration-timeodelete-max-ageflag nella tua richiesta di creazione o aggiornamento del cluster. La prima condizione a diventare vera viene applicata per eliminare il cluster. - Puoi passare il flag
delete-expiration-timeo il flagdelete-max-ageal 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
Puoi creare o aggiornare i valori di eliminazione pianificata su un cluster impostando i campi e i valori di Managed Service for Apache Spark API ClusterLifecycleConfig elencati nella tabella seguente come parte di una richiesta API di Managed Service for Apache Spark cluster.create o cluster.patch.
| Campo API | Descrizione | Granularità del valore | Valore min | Valore massimo |
|---|---|---|---|---|
idleDeleteTtl1 |
Si applica ai comandi di creazione e aggiornamento dei cluster.
La durata dal momento in cui il cluster diventa inattivo dopo la
creazione o l'aggiornamento e si trova in uno stato pronto per l'uso al
momento in cui il cluster inizia a essere eliminato. Quando
aggiorni un cluster con un nuovo valore, questo 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 dei cluster.
L'ora di inizio dell'eliminazione del cluster. Quando aggiorni un cluster con una nuova ora,
questa 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 RFC 3339 UTC "Zulu", con una precisione di nanosecondi. 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 |
- Puoi impostare o aggiornare sia
idleDeleteTtlsiaautoDeleteTimeoautoDeleteTtlnella richiesta di creazione o aggiornamento del cluster. La prima condizione a diventare vera viene applicata per eliminare il cluster. - Puoi impostare o aggiornare
autoDeleteTimeoautoDeleteTtlnella richiesta, ma non entrambi.
Console
- Apri la pagina Crea un cluster di Managed Service for Apache Spark.
- Seleziona il riquadro Personalizza cluster.
- 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
... NAME WORKER_COUNT ... SCHEDULED_DELETE CLUSTER_ID NUMBER ... enabled ...
Puoi utilizzare il comando gcloud dataproc clusters describe per controllare le impostazioni di eliminazione pianificata di LifecycleConfig del cluster.
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.
Managed Service for Apache Spark genera il valore idleStartTime, che è l'ultima ora di inizio dell'inattività del cluster. Managed Service for Apache Spark 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 di Managed Service for Apache Spark nella console. Google Cloud
- Nella pagina dei dettagli dei cluster, seleziona la Configurazione scheda. Vai all'elenco delle configurazioni del cluster per visualizzare le impostazioni di eliminazione pianificata.