Questo documento descrive come creare un cluster con scalabilità zero di Managed Service for Apache Spark.
I cluster con scalabilità zero di Managed Service for Apache Spark offrono un modo conveniente per utilizzare i cluster Managed Service for Apache Spark. A differenza dei cluster Managed Service for Apache Spark standard, che richiedono almeno due worker primari, i cluster con scalabilità zero di Managed Service for Apache Spark utilizzano solo worker secondari che possono essere ridotti a zero.
I cluster con scalabilità zero di Managed Service for Apache Spark sono ideali per l'utilizzo come cluster a lunga esecuzione che presentano periodi di inattività, ad esempio un cluster che ospita un notebook Jupiter. Offrono un migliore utilizzo delle risorse grazie all'uso di policy di scalabilità automatica con scalabilità fino a zero.
Caratteristiche e limitazioni
Un cluster zero-scale di Managed Service for Apache Spark condivide alcune somiglianze con un cluster standard, ma presenta le seguenti caratteristiche e limitazioni uniche:
- Richiede la versione immagine
2.2.53o successiva. - Supporta solo i worker secondari, non i worker 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.defaultFSsu 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 un cluster standard o viceversa.
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 console Google Cloud .
(Facoltativo) Configura una policy di scalabilità automatica
Puoi configurare una policy di scalabilità automatica per definire la scalabilità dei worker secondari per un cluster con scalabilità zero. In questo caso, 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 saperne di più, consulta Crea una policy di scalabilità automatica.
Crea un cluster Managed Service for Apache Spark con scalabilità zero
Crea un cluster con scalabilità 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: il nome del cluster con scalabilità zero di Managed Service for Apache Spark.
- 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à zero utilizzando una richiesta cluster.create dell'API REST Managed Service for Apache Spark:
- Imposta
ClusterConfig.ClusterTypepersecondaryWorkerConfigsuZERO_SCALE. - Imposta
AutoscalingConfig.policyUricon l'ID della policy di scalabilità automaticaZERO_SCALE. - Aggiungi
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 Managed Service for Apache Spark.