Questa pagina mostra come utilizzare lo strumento a riga di comando Google Cloud CLI gcloud per creare un cluster Dataproc, eseguire un job Apache Spark nel cluster, quindi modificare il numero di worker nel cluster.
Puoi scoprire come eseguire attività simili o uguali con Guide rapide che utilizzano Explorer API, la console Google Cloud in Creare un cluster Dataproc utilizzando la console Google Cloud e utilizzando le librerie client in Creare un cluster Dataproc utilizzando le librerie client.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verifica di disporre delle autorizzazioni necessarie per completare questa guida.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable dataproc.googleapis.com
-
Install the Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_IDwith a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_IDwith your Google Cloud project name.
-
Verifica di disporre delle autorizzazioni necessarie per completare questa guida.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Dataproc API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.gcloud services enable dataproc.googleapis.com
-
Editor Dataproc (
roles/dataproc.editor) sul progetto -
Service Account User (
roles/iam.serviceAccountUser) sul account di servizio Compute Engine predefinito - Il job viene eseguito il giorno
example-cluster. classcontiene il metodo principale per SparkPi, che calcola un valore approssimativo dipi. per ogni applicazione.- Il file jar contiene il codice del job.
1000è un parametro del job. Specifica il numero di attività (iterazioni) che il job esegue per calcolare il valore dipi.- Per eliminare
example-cluster, esegui il comandoclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
- Scopri come scrivere ed eseguire un job Spark Scala.
Ruoli obbligatori
Per eseguire gli esempi riportati in questa pagina sono necessari determinati ruoli IAM. A seconda delle norme dell'organizzazione, questi ruoli potrebbero essere già stati concessi. Per controllare le concessioni dei ruoli, consulta Devi concedere i ruoli?.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Ruoli utente
Per ottenere le autorizzazioni necessarie per creare un cluster Dataproc, chiedi all'amministratore di concederti i seguenti ruoli IAM:
Ruolo account di servizio
Per assicurarti che il account di servizio predefinito di Compute Engine disponga delle autorizzazioni necessarie per creare un cluster Dataproc,
chiedi all'amministratore di concedere al account di servizio predefinito di Compute Engine il ruolo IAM Dataproc Worker (roles/dataproc.worker) sul progetto.
Crea un cluster
Per creare un cluster denominato example-cluster, esegui questo comando
gcloud Dataproc clusters create.
gcloud dataproc clusters create example-cluster --region=REGION
Sostituisci quanto segue:
REGION: specifica una regione in cui si troverà il cluster.
Invia un job
Per inviare un job Spark di esempio che calcola un valore approssimativo di pi, esegui il comando
gcloud Dataproc jobs submit spark:
gcloud dataproc jobs submit spark --cluster example-cluster \ --region=REGION \ --class org.apache.spark.examples.SparkPi \ --jars file:///usr/lib/spark/examples/jars/spark-examples.jar -- 1000
Note:
Sostituisci quanto segue:
REGION: specifica la regione del cluster.
L'esecuzione del job e l'output finale vengono visualizzati nella finestra del terminale.
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Aggiorna un cluster
Per cambiare il numero di worker nel cluster e impostarlo su 5, esegui questo comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 5
L'output del comando mostra i dettagli del cluster:
workerConfig: ... instanceNames: - example-cluster-w-0 - example-cluster-w-1 - example-cluster-w-2 - example-cluster-w-3 - example-cluster-w-4 numInstances: 5 statusHistory: ... - detail: Add 3 workers.
Per diminuire il numero di nodi worker al valore originale di 2, esegui questo comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questa pagina, segui questi passaggi.