Crea un clúster de Dataproc mediante gcloud CLI

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

  1. 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.
  2. Install the Google Cloud CLI.

  3. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  4. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with 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_ID with your Google Cloud project name.

  6. Comprueba que tienes los permisos necesarios para completar esta guía.

  7. Verify that billing is enabled for your Google Cloud project.

  8. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable dataproc.googleapis.com
  9. Install the Google Cloud CLI.

  10. Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

  11. Para inicializar gcloud CLI, ejecuta el siguiente comando:

    gcloud init
  12. 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 the resourcemanager.projects.create permission. Learn how to grant roles.
    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with 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_ID with your Google Cloud project name.

  13. Comprueba que tienes los permisos necesarios para completar esta guía.

  14. Verify that billing is enabled for your Google Cloud project.

  15. 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 the serviceusage.services.enable permission. Learn how to grant roles.

    gcloud services enable dataproc.googleapis.com
  16. 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 ejecuta el example-cluster.
    • class contiene el método principal de SparkPi, que calcula un valor aproximado de pi. .
    • El archivo JAR contiene el código del trabajo.
    • 1000 es un parámetro de trabajo. Especifica el número de tareas (iteraciones) que realiza el trabajo para calcular el valor de pi.

    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.

    1. Para eliminar el example-cluster, ejecuta el comando clusters delete:
      gcloud dataproc clusters delete example-cluster \
          --region=REGION
      

    Siguientes pasos