En esta página, se muestra cómo usar la herramienta de línea de comandos gcloud de la CLI de Google Cloud para crear un clúster de Dataproc, ejecutar un trabajo de Apache Spark en el clúster y, luego, modificar la cantidad de trabajadores en el clúster.
Puedes averiguar cómo realizar las mismas tareas (o similares) con las guías de inicio rápido para usar el Explorador de APIs, la consola de Google Cloud en Crea un clúster de Dataproc con la consola de Google Cloud y las bibliotecas cliente en Crea un clúster de Dataproc con bibliotecas cliente.
Antes de comenzar
- 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 usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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.
-
Verifica que tengas 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 usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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.
-
Verifica que tengas 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 en
example-cluster. - El
classcontiene el método principal para SparkPi, que calcula un valor aproximado depi. en cada aplicación. - El archivo JAR contiene el código del trabajo.
1000es un parámetro de trabajo. Especifica la cantidad de tareas (iteraciones) que realiza el trabajo para calcular el valor depi.- Para borrar el
example-cluster, ejecuta el comandoclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
Roles obligatorios
Se requieren ciertos roles de IAM para ejecutar los ejemplos de esta página. Según las políticas de la organización, es posible que estos roles ya se hayan otorgado. Para verificar las asignaciones de roles, consulta ¿Necesitas otorgar roles?.
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Funciones de usuario
Para obtener los permisos que necesitas para crear un clúster de Dataproc, pídele a tu administrador que te otorgue los siguientes roles de IAM:
Función de cuenta de servicio
Para asegurarte de que la cuenta de servicio predeterminada de Compute Engine tenga los permisos necesarios para crear un clúster de Dataproc, pídele a tu administrador que otorgue a la cuenta de servicio predeterminada de Compute Engine el rol de IAM de trabajador de Dataproc (roles/dataproc.worker) en el proyecto.
Crea un clúster
Para crear un clúster llamado example-cluster, ejecuta el siguiente comando de gcloud Dataproc clusters create.
gcloud dataproc clusters create example-cluster --region=REGION
Reemplaza lo siguiente:
REGION: Especifica una región en la que se ubicará el clúster.
Envía un trabajo
Si quieres enviar un trabajo de Spark de muestra que calcule un valor aproximado para 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:
Reemplaza lo siguiente:
REGION: Especifica la región del clúster.
La ejecución del trabajo y el resultado final se muestran en la ventana de terminal:
Waiting for job output... ... Pi is roughly 3.14118528 ... Job finished successfully.
Actualiza un clúster
Para cambiar a cinco la cantidad de trabajadores en el clúster, 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 disminuir la cantidad de nodos trabajadores al valor original de 2, ejecuta el siguiente comando:
gcloud dataproc clusters update example-cluster \ --region=REGION \ --num-workers 2
Realiza una limpieza
Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.