Per evitare di incorrere in addebiti di Google Cloud per un cluster inattivo, utilizza l'eliminazione pianificata dei cluster di Dataproc una caratteristica 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 determinato periodo che decorre dal momento dell'invio del 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à è abilitata, sia YARN sia API Dataproc Jobs
l'attività deve essere inattiva per poter iniziare e continuare a incrementare il tempo di inattività del cluster
calcolo.
- L'attività YARN include applicazioni YARN in attesa ed in esecuzione.
- L'attività dell'API Dataproc Jobs include i job in attesa e in esecuzione inviate all'API Dataproc Jobs.
- Se questa proprietà è impostata su
false
, l'API Dataproc Jobs solo l'attività deve essere inattiva per poter iniziare e continuare a incrementare il tempo di inattività del cluster calcolo.
Utilizzo dell'eliminazione pianificata dei cluster
Comando g-cloud
Puoi creare un cluster con la funzionalità di eliminazione pianificata del cluster passando il parametro i seguenti flag di eliminazione pianificata gcloud dataproc clusters create .
Bandiera | Descrizione | Granularità più fine | Valore min | Valore max |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra nello stato inattivo al momento in cui inizia l'eliminazione. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore, giorni). 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 | 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 Generatore di timestamp. Ad esempio, "2017-08-22T13:31:48-08:00" specifica un'ora di scadenza pari a 13:21:48 nel fuso orario UTC -8:00. | 1 secondo | 10 minuti dopo l'ora corrente | 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. Specifica la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (secondi, minuti, ore, giorni, rispettivamente). 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 in modifica o rimuovi le impostazioni di eliminazione pianificata passando la seguente eliminazione pianificata ai flag gcloud dataproc clusters update (gli altri flag di aggiornamento del cluster non possono essere combinati con i flag di eliminazione pianificata).
Bandiera | Descrizione | Granularità più fine | Valore min | Valore max |
---|---|---|---|---|
--max-idle 1 | La durata dal momento in cui il cluster entra nello stato inattivo al momento in cui inizia l'eliminazione. Fornisci la durata nel formato IntegerUnit , dove l'unità può essere "s, m, h, d" (rispettivamente secondi, minuti, ore, giorni). 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 | 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'ora di scadenza pari a 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 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, 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 quanto segue ClusterLifecycleConfig campi nel tuo cluster.create o una richiesta API cluster.patch.
Bandiera | Descrizione | Granularità più fine | 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 in "Zulu" nel formato UTC RFC 3339 con precisione al nanosecondo. Esempio: "2014-10-02T15:01:23.045123456Z". | 1 secondo | 10 minuti dopo l'ora corrente. 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 Dataproc Crea un cluster seleziona il riquadro Personalizza cluster. Scorri verso il basso fino Eliminazione pianificata, quindi seleziona le opzioni da applicare al cluster.
Visualizzazione delle impostazioni del cluster di eliminazione pianificata
Comando g-cloud
Puoi usare il comando gcloud dataproc clusters list
per confermare
che l'eliminazione pianificata è 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 creare un clusters.list per confermare che l'eliminazione pianificata è abilitata per un cluster.
Console
Puoi visualizzare le impostazioni di eliminazione pianificata del cluster selezionando il nome del cluster da Dataproc Pagina Cluster nel nella console Google Cloud. Nella pagina dei dettagli del cluster, seleziona CONFIGURAZIONE. Scorri verso il basso l'elenco di configurazioni del cluster per visualizzarlo le impostazioni di eliminazione pianificata.