Per evitare di incorrere in addebiti Google Cloud per un cluster inattivo, utilizza la funzionalità di eliminazione pianificata del cluster di Dataproc quando crei un cluster. Questa funzionalità offre opzioni per eliminare un cluster:
- dopo un determinato periodo di inattività del cluster
- in un momento futuro specificato
- dopo un periodo specificato che inizia dal momento dell'invio della richiesta di creazione del cluster
Calcolo del tempo di inattività del cluster
La dataproc:dataproc.cluster-ttl.consider-yarn-activity
proprietà cluster
influisce sul calcolo del tempo di inattività del cluster nel seguente modo:
- Questa proprietà è attiva (impostata su
true
) per impostazione predefinita. - Quando questa proprietà è attivata, sia l'attività YARN sia l'API Dataproc Jobs devono essere inattive per avviare e continuare ad aumentare 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
, l'attività dell'API Dataproc Jobs deve essere inattiva per avviare e continuare ad aumentare il calcolo del tempo di inattività del cluster.
Utilizzare l'eliminazione pianificata dei cluster
Comando g-cloud
Puoi creare un cluster con la funzionalità di eliminazione pianificata del cluster passando i seguenti flag di eliminazione pianificata al comando gcloud dataproc clusters create.
Bandiera | Descrizione | Granularità più fine | Valore minimo | Valore massimo |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra nello stato inattivo al momento in cui inizia l'eliminazione. Specifica la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni, rispettivamente). Esempi: "30m" o "1d" (30 minuti o 1 giorno dal momento in cui il cluster diventa inattivo). | 1 secondo | 5 minuti | 14 giorni |
--expiration-time 2 | L'ora di inizio dell'eliminazione del cluster nel formato data e ora ISO 8601. Un modo semplice per generare la data e l'ora nel formato corretto è tramite 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 dopo l'ora corrente | 14 giorni dopo l'ora corrente |
--max-age 2 | La durata dal momento dell'invio della richiesta di creazione del cluster al momento dell'inizio dell'eliminazione del cluster. Specifica la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni, rispettivamente). Esempi: "30m" (tra 30 minuti); "1d" (tra 1 giorno). | 1 secondo | 10 minuti | 14 giorni |
gcloud dataproc clusters create cluster-name \ --region=region \ --max-idle=duration \ --expiration-time=time \ ... other flags ...
Puoi aggiornare un cluster creato con la funzionalità di eliminazione pianificata per cambiare o rimuovere le impostazioni di eliminazione pianificata passando i seguenti flag di eliminazione pianificata al comando gcloud dataproc clusters update (altri flag di aggiornamento del cluster non possono essere combinati con i flag di eliminazione pianificata).
Bandiera | Descrizione | Granularità più fine | Valore minimo | Valore massimo |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra nello stato inattivo al momento in cui inizia l'eliminazione. Specifica la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni, rispettivamente). Esempi: "30m" o "1d" (30 minuti o 1 giorno dal momento in cui il cluster diventa inattivo). | 1 secondo | 5 minuti | 14 giorni |
--no-max-idle | Annullamento dell'eliminazione automatica del cluster in base alla durata di inattività del cluster impostata in precedenza dal flag max-idle | non applicabile | non applicabile | non applicabile |
--expiration-time 2 | L'ora di inizio dell'eliminazione del cluster nel formato data e ora ISO 8601. Un modo semplice per generare la data e l'ora nel formato corretto è 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 corrente e la nuova ora non deve essere precedente a quella impostata in precedenza. | 14 giorni dopo l'ora corrente |
--max-age 2 | La durata dal momento dell'invio della richiesta di aggiornamento del cluster al momento dell'inizio dell'eliminazione del cluster. Specifica la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni, rispettivamente). Esempi: "30m" (tra 30 minuti); "1d" (tra 1 giorno). | 1 secondo | 10 minuti e l'ora di eliminazione pianificata aggiornata (ora di aggiornamento + nuova durata dell'età massima) non deve essere precedente all'ora di eliminazione del cluster impostata in precedenza. | 14 giorni |
--no-max-age | Annullamento dell'eliminazione automatica del cluster in base all'età massima del cluster impostata in precedenza dal flag max-age o expiration-time | non applicabile | non applicabile | non applicabile |
gcloud dataproc clusters update cluster-name \ --region=region \ --max-idle=duration \ --no-max-age \ ... other flags
API REST
Puoi creare un cluster con la funzionalità di eliminazione pianificata del cluster impostando i seguenti campi ClusterLifecycleConfig nella richiesta API cluster.create o cluster.patch.
Bandiera | Descrizione | Granularità più fine | Valore minimo | Valore massimo |
---|---|---|---|---|
idleDeleteTtl 1 |
La durata dal momento in cui il cluster entra nello stato inattivo al momento in cui inizia l'eliminazione. Fornisci una durata in secondi con un massimo di nove cifre frazionarie, terminata da "s". Esempio: "3,5 s". | 1 secondo | 5 minuti dal momento della creazione o dell'aggiornamento del cluster. Quando aggiorni un cluster, il nuovo valore deve essere maggiore di quello impostato in precedenza. Invia una richiesta cluster.patch con una durata vuota per annullare un valore idleDeleteTtl impostato in precedenza. |
14 giorni |
autoDeleteTime 2 |
L'ora di inizio dell'eliminazione del cluster. Fornisci un timestamp in formato "Zulu" UTC RFC 3339, preciso al nanosecondo. Esempio: "2014-10-02T15:01:23.045123456Z". | 1 secondo | 10 minuti dopo l'ora corrente. Quando aggiorni un cluster, la nuova ora deve essere successiva a quella impostata in precedenza. | 14 giorni dopo l'ora corrente |
autoDeleteTtl 2 |
La durata dal momento dell'invio della richiesta di creazione o aggiornamento del cluster al momento in cui inizia l'eliminazione del cluster. Fornisci una durata in secondi con un massimo di nove cifre frazionarie, terminata da "s". Esempio: "3,5 s". | 1 secondo | 10 minuti. Quando aggiorni un cluster, la nuova data/ora di eliminazione pianificata (data/ora di aggiornamento + nuova durata della massima età) deve essere successiva a quella impostata in precedenza per il cluster. Invia una richiesta cluster.patch con una durata vuota per annullare un valore autoDeleteTtl impostato in precedenza. |
14 giorni |
Console
- Apri la pagina Dataproc Crea un cluster e seleziona il riquadro Personalizza cluster. Scorri verso il basso fino alla sezione Eliminazione pianificata, quindi seleziona le opzioni da applicare al cluster.
Visualizzazione delle impostazioni del cluster per l'eliminazione pianificata
Comando g-cloud
Puoi utilizzare il comando gcloud dataproc clusters list
per verificare
che l'eliminazione programmata 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 LifecycleConfig
di un 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 in precedenza dall'utente sul cluster.
Dataproc genera il valore idleStartTime
, che corrisponde all'ora di inizio dell'inattività del cluster più recente. Dataproc elimina il
cluster se rimane inattivo per idleStartTime
+ idleDeleteTtl
.
API REST
Puoi effettuare una richiesta clusters.list per verificare che per un cluster sia stata attivata l'eliminazione pianificata.
Console
Puoi visualizzare le impostazioni di eliminazione pianificata del cluster selezionando il nome del cluster dalla pagina Cluster di Dataproc nella console Google Cloud. Nella pagina dei dettagli dei cluster, seleziona la scheda CONFIGURAZIONE. Scorri verso il basso nell'elenco di configurazione del cluster per visualizzare le impostazioni di eliminazione pianificata.