Per evitare di incorrere in addebiti di Google Cloud per un cluster inattivo, utilizza la funzionalità di eliminazione pianificata dei cluster di Dataproc quando crei un cluster. Questa funzionalità offre opzioni per eliminare un cluster:
- dopo un periodo di inattività del cluster specificato
- in un momento futuro specificato
- dopo un periodo specificato che inizia dal momento di invio della richiesta di creazione del cluster
Calcolo del tempo di inattività del cluster
La proprietà del cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity
incide sul calcolo del tempo di inattività del cluster, come segue:
- Questa proprietà è attiva (impostata su
true
) per impostazione predefinita. - Quando questa proprietà è abilitata, sia l'attività YARN che l'API Dataproc Jobs devono essere inattive per avviare e continuare a incrementare il calcolo del tempo di inattività del cluster.
- L'attività YARN include applicazioni YARN in attesa ed in esecuzione.
- L'attività dell'API Dataproc Jobs include i job in attesa ed in esecuzione inviati all'API Dataproc Jobs.
- Se questa proprietà è impostata su
false
, l'attività dell'API Dataproc Jobs deve essere inattiva solo per poter avviare e continuare a incrementare il calcolo del tempo di inattività del cluster.
Utilizzo dell'eliminazione pianificata dei cluster
Comando g-cloud
Puoi creare un cluster con la funzionalità di eliminazione pianificata dei cluster passando i seguenti flag di eliminazione pianificata al comando gcloud dataproc clusters create.
Flag | Descrizione | Granularità | Valore min | Valore max |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra in stato di inattività a quello in cui viene avviata l'eliminazione del cluster. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore e giorni). Esempi: "30 m" o "1 g" (30 minuti o 1 giorno da quando il cluster diventa inattivo). | 1 secondo | 5 minuti | 14 giorni |
--expiration-time 2 | Il momento di iniziare a eliminare il cluster nel formato data/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 orario di scadenza pari a 13:21:48 nel fuso orario UTC -8:00. | 1 secondo | 10 minuti dall'ora attuale | 14 giorni dall'ora attuale |
--max-age 2 | La durata dal momento dell'invio della richiesta di creazione del cluster al momento in cui inizia l'eliminazione del cluster. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore e giorni). Esempi: "30 m" (30 minuti da adesso); "1 g" (1 giorno da adesso). | 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 modificare 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).
Flag | Descrizione | Granularità | Valore min | Valore max |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra in stato di inattività a quello in cui viene avviata l'eliminazione del cluster. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore e giorni). Esempi: "30 m" o "1 g" (30 minuti o 1 giorno da quando il cluster diventa inattivo). | 1 secondo | 5 minuti | 14 giorni |
--no-max-idle | Annulla l'eliminazione automatica del cluster per la durata di inattività del cluster precedentemente impostata dal flag max-idle | non applicabile | non applicabile | non applicabile |
--expiration-time 2 | Il momento di iniziare a eliminare il cluster nel formato data/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 orario di scadenza pari a 13:21:48 nel fuso orario UTC -8:00. | 1 secondo | 10 minuti dall'ora attuale e il nuovo orario non deve essere antecedente a quello impostato in precedenza. | 14 giorni dall'ora attuale |
--max-age 2 | La durata tra il momento dell'invio della richiesta di aggiornamento del cluster e il momento in cui inizia l'eliminazione del cluster. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore e giorni). Esempi: "30 m" (30 minuti da adesso); "1 g" (1 giorno da adesso). | 1 secondo | 10 minuti e la data e l'ora di eliminazione pianificata aggiornata (ora di aggiornamento + nuova durata massima) non devono essere precedenti a quella impostata in precedenza per l'eliminazione del cluster. | 14 giorni |
--no-max-age | Annulla l'eliminazione automatica del cluster in base all'età massima del cluster precedentemente impostata dal flag max-age oexpiration-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 dei cluster impostando i seguenti campi ClusterLifecycleConfig nella richiesta API cluster.create o cluster.patch.
Flag | Descrizione | Granularità | Valore min | Valore max |
---|---|---|---|---|
idleDeleteTtl 1 |
La durata dal momento in cui il cluster entra in stato di inattività a quello in cui viene avviata l'eliminazione del cluster. Specifica una durata in secondi con un massimo di nove cifre frazionarie, terminate 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 |
È il momento di iniziare a eliminare il cluster. 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. Quando aggiorni un cluster, la nuova data e l'ora devono essere successive a quelle impostate in precedenza. | 14 giorni dall'ora attuale |
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. Specifica una durata in secondi con un massimo di nove cifre frazionarie, terminate da "s". Esempio: "3,5 s". | 1 secondo | 10 minuti. Quando aggiorni un cluster, la nuova data e l'ora di eliminazione pianificata (ora di aggiornamento + nuova durata massima) devono essere successive a quella impostata in precedenza. Invia una richiesta cluster.patch con una durata vuota per annullare un valore autoDeleteTtl impostato in precedenza. |
14 giorni |
Console
- Apri la pagina Crea un cluster di Dataproc, quindi 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 di eliminazione pianificata
Comando g-cloud
Puoi utilizzare il comando gcloud dataproc clusters list
per confermare che l'eliminazione pianificata è abilitata in 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 verificare 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 precedentemente impostati dall'utente nel cluster.
Dataproc genera il valore idleStartTime
, ovvero l'ora di inizio di inattività del cluster più recente. Dataproc elimina il cluster se il cluster rimane inattivo a idleStartTime
+ idleDeleteTtl
.
API REST
Puoi effettuare una richiesta clusters.list per confermare che l'eliminazione pianificata sia abilitata in un cluster.
Console
Puoi visualizzare le impostazioni di eliminazione pianificata del cluster selezionando il nome del cluster nella pagina Cluster di Dataproc nella console Google Cloud. Nella pagina dei dettagli del cluster, seleziona la scheda CONFIGURAZIONE. Scorri verso il basso l'elenco di configurazioni del cluster per visualizzare le impostazioni di eliminazione pianificata.