Crea un clúster de Dataproc con la CLI de gcloud

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

  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 usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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. Verifica que tengas 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 usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI 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. Verifica que tengas 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

    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.

    • El trabajo se ejecuta en example-cluster.
    • El class contiene el método principal para SparkPi, que calcula un valor aproximado de pi. en cada aplicación.
    • El archivo JAR contiene el código del trabajo.
    • 1000 es un parámetro de trabajo. Especifica la cantidad de tareas (iteraciones) que realiza el trabajo para calcular el valor de pi.

    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.

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

    ¿Qué sigue?