Questo documento descrive come creare un cluster Dataproc con scalabilità zero.
I cluster Dataproc con scalabilità zero offrono un modo conveniente per utilizzare i cluster Dataproc. A differenza dei cluster Dataproc standard che richiedono almeno due worker principali, i cluster Dataproc con scalabilità a zero utilizzano solo worker secondari che possono essere ridimensionati fino a zero.
I cluster Dataproc con scalabilità a zero sono ideali per l'utilizzo come cluster di lunga durata che presentano periodi di inattività, ad esempio un cluster che ospita un notebook Jupiter. Consentono un migliore utilizzo delle risorse grazie all'impiego di policy di scalabilità automatica con scalabilità a zero.
Caratteristiche e limitazioni
Un cluster Dataproc con scalabilità zero condivide somiglianze con un cluster standard, ma presenta le seguenti caratteristiche e limitazioni uniche:
- Richiede la versione dell'immagine
2.2.53
o successive. - Supporta solo i lavoratori secondari, non quelli principali.
Include servizi come YARN, ma non supporta il file system HDFS.
- Per utilizzare Cloud Storage come file system predefinito, imposta la proprietà del cluster
core:fs.defaultFS
su una posizione del bucket Cloud Storage (gs://BUCKET_NAME
). - Se disattivi un componente durante la creazione del cluster, disattiva anche HDFS.
- Per utilizzare Cloud Storage come file system predefinito, imposta la proprietà del cluster
Non può essere convertito in o da un cluster standard.
Richiede un criterio di scalabilità automatica per i tipi di cluster
ZERO_SCALE
.Richiede la selezione di VM flessibili come tipo di macchina.
Non supporta il componente Oozie.
Non può essere creato dalla console Google Cloud .
(Facoltativo) Configura una policy di scalabilità automatica
Puoi configurare una policy di scalabilità automatica per definire la scalabilità del nodo di lavoro secondario per un cluster con scalabilità a zero. Quando lo fai, tieni presente quanto segue:
- Imposta il tipo di cluster su
ZERO_SCALE
. - Configura una policy di scalabilità automatica solo per la configurazione del worker secondario.
Per saperne di più, consulta Creare una policy di scalabilità automatica.
Crea un cluster Dataproc con scalabilità zero
Crea un cluster con scalabilità a zero utilizzando gcloud CLI o l'API Dataproc.
gcloud
Esegui il comando
gcloud dataproc clusters create
localmente in una finestra del terminale o in
Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--cluster-type=zero-scale \
--autoscaling-policy=AUTOSCALING_POLICY \
--properties=core:fs.defaultFS=gs://BUCKET_NAME \
--secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
...other args
Sostituisci quanto segue:
- CLUSTER_NAME: nome del cluster Dataproc zero-scale.
- REGION: una regione di Compute Engine disponibile.
- AUTOSCALING_POLICY: l'ID o l'URI della risorsa della policy di scalabilità automatica.
- BUCKET_NAME: il nome del tuo bucket Cloud Storage.
- MACHINE_TYPE: tipo di macchina Compute Engine specifico, ad esempio
n1-standard-4
,e2-standard-8
. - RANK: definisce la priorità di un elenco di tipi di macchina.
REST
Crea un cluster con scalabilità a zero utilizzando una richiesta cluster.create dell'API REST Dataproc:
- Imposta
ClusterConfig.ClusterType
persecondaryWorkerConfig
suZERO_SCALE
. - Imposta
AutoscalingConfig.policyUri
con l'ID policy di scalabilità automaticaZERO_SCALE
. - Aggiungi
core:fs.defaultFS:gs://BUCKET_NAME
SoftwareConfig.property. Sostituisci BUCKET_NAME con il nome del tuo bucket Cloud Storage.
Passaggi successivi
- Scopri di più sulla scalabilità automatica di Dataproc.