Questo documento descrive come creare un cluster Dataproc a scalabilità zero.
I cluster Dataproc a scalabilità zero offrono un modo economico per utilizzare i cluster Dataproc. A differenza dei cluster Dataproc standard che richiedono almeno due worker principali, i cluster Dataproc a scalabilità zero utilizzano solo worker secondari che possono essere ridimensionati fino a zero.
I cluster Dataproc a scalabilità zero sono ideali per l'utilizzo come cluster a lunga esecuzione che hanno periodi di inattività, ad esempio un cluster che ospita un notebook Jupiter. Offrono un migliore utilizzo delle risorse grazie all'utilizzo di policy di scalabilità automatica a scalabilità zero.
Caratteristiche e limitazioni
Un cluster Dataproc a scalabilità zero condivide somiglianze con un cluster standard ma presenta le seguenti caratteristiche e limitazioni uniche:
- Richiede la versione dell'immagine
2.2.53o successive. - Supporta solo i worker secondari, non i worker principali.
Include servizi come YARN, ma non supporta il file system HDFS.
- Per utilizzare Cloud Storage come file system predefinito, imposta la
core:fs.defaultFSproprietà del cluster su una località del bucket Cloud Storage (gs://BUCKET_NAME). - Se disabiliti un componente durante la creazione del cluster, anche disabilita HDFS.
- Per utilizzare Cloud Storage come file system predefinito, imposta la
Non può essere convertito in o da un cluster standard.
Richiede una policy 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 Google Cloud console.
(Facoltativo) Configura una policy di scalabilità automatica
Puoi configurare una policy di scalabilità automatica per definire la scalabilità dei worker secondari per un cluster a scalabilità 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 dei worker secondari.
Per ulteriori informazioni, consulta Creare una policy di scalabilità automatica.
Crea un cluster Dataproc a scalabilità zero
Crea un cluster a scalabilità zero utilizzando gcloud CLI o l'API Dataproc.
gcloud
Esegui
gcloud dataproc clusters create
comando in locale 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 a scalabilità zero.
- REGION: una regione Compute Engine disponibile.
- AUTOSCALING_POLICY: l'ID o l'URI della risorsa della policy di scalabilità automatica.
- BUCKET_NAME: 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 macchine.
REST
Crea un cluster a scalabilità zero utilizzando una richiesta cluster.create dell'API REST Dataproc:
- Imposta
ClusterConfig.ClusterTypepersecondaryWorkerConfigsuZERO_SCALE. - Imposta
AutoscalingConfig.policyUricon l'ID della policy di scalabilità automaticaZERO_SCALE. - Aggiungi la
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property. Sostituisci BUCKET_NAME con il nome del tuo bucket Cloud Storage.
Passaggi successivi
- Scopri di più sulla scalabilità automatica di Dataproc.