Questo documento descrive come creare un cluster Dataproc con scalabilità zero.
I cluster Dataproc con scalabilità a 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 criteri 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 primari.
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 un criterio di scalabilità automatica per definire la scalabilità secondaria 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 maggiori informazioni, vedi Creare un criterio 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
gcloud dataproc clusters create
il comando 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 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 della 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.