En esta página se muestra cómo usar la herramienta de línea de comandos gcloud de Google Cloud CLI para crear un clúster de Dataproc, ejecutar una tarea de Apache Spark en el clúster y, a continuación, modificar el número de trabajadores del clúster.
Puedes consultar cómo realizar las mismas tareas o tareas similares en las guías de inicio rápido con el Explorador de APIs, en la consola de Crear un clúster de Dataproc mediante la consola y en Crear un clúster de Dataproc mediante bibliotecas de cliente. Google Cloud Google Cloud
Antes de empezar
- 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.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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.
-
Comprueba que tienes los permisos necesarios para completar esta guía.
-
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.
-
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
-
Para inicializar gcloud CLI, ejecuta el siguiente 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.
-
Comprueba que tienes los permisos necesarios para completar esta guía.
-
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 de Dataproc (
roles/dataproc.editor) en el proyecto -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser) en la cuenta de servicio predeterminada de Compute Engine - El trabajo se ejecuta el
example-cluster. classcontiene el método principal de SparkPi, que calcula un valor aproximado depi. .- El archivo JAR contiene el código del trabajo.
1000es un parámetro de trabajo. Especifica el número de tareas (iteraciones) que realiza el trabajo para calcular el valor depi.- Para eliminar el
example-cluster, ejecuta el comandoclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
- Consulta cómo escribir y ejecutar una tarea de Scala en Spark.
Roles obligatorios
Para ejecutar los ejemplos de esta página, se necesitan determinados roles de gestión de identidades y accesos. En función de las políticas de la organización, es posible que estos roles ya se hayan concedido. Para comprobar las concesiones de roles, consulta ¿Necesitas conceder roles?.
Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.
Funciones de usuario
Para obtener los permisos que necesitas para crear un clúster de Dataproc, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:
Rol de cuenta de servicio
Para asegurarte de que la cuenta de servicio predeterminada de Compute Engine tiene los permisos necesarios para crear un clúster de Dataproc, pide a tu administrador que le conceda el rol de IAM Trabajador de Dataproc (roles/dataproc.worker) en el proyecto.
Crear un clúster
Para crear un clúster llamado example-cluster, ejecuta el siguiente comando gcloud Dataproc clusters create.
gcloud dataproc clusters create example-cluster --region=REGION
Haz los cambios siguientes:
REGION: especifica una región en la que se ubicará el clúster.
Enviar una tarea
Para enviar una tarea de Spark de ejemplo que calcule un valor aproximado de pi, ejecuta el siguiente 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
Notas:
Haz los cambios siguientes:
REGION: especifica la región del clúster.
El trabajo se está ejecutando y el resultado final se muestra en la ventana de la terminal:
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Actualizar un clúster
Para cambiar el número de trabajadores del clúster a cinco, ejecuta el siguiente comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 5
El resultado del comando muestra los detalles del clúster:
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.
Para reducir el número de nodos de trabajador al valor original de 2, ejecuta el siguiente comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Limpieza
Para evitar que se apliquen cargos en tu cuenta de Google Cloud por los recursos utilizados en esta página, sigue estos pasos.