Crea un clúster con gcloud CLI

En esta página, se muestra cómo usar la herramienta de línea de comandos de gcloud de Google Cloud CLI gcloud para crear un clúster de Managed Service for Apache Spark, 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 API, la Google Cloud consola en Crea un clúster con la Google Cloud consola, y las bibliotecas cliente en Crea un clúster con bibliotecas cliente.

Antes de comenzar

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. Instala 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. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.
    • Crea un proyecto de: Google Cloud

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el Google Cloud proyecto de que estás creando.

    • Selecciona el Google Cloud proyecto de que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto de.

  6. Verifica que tengas los permisos necesarios para completar esta guía.

  7. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  8. Habilita la API de Dataproc:

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el serviceusage.services.enable permiso. Obtén más información para otorgar roles.

    gcloud services enable dataproc.googleapis.com
  9. Instala 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. Crea o selecciona un Google Cloud proyecto.

    Roles necesarios para seleccionar o crear un proyecto

    • Selecciona un proyecto: Para seleccionar un proyecto, no se requiere un rol de IAM específico. Puedes seleccionar cualquier proyecto en el que se te haya otorgado un rol.
    • Crea un proyecto: Para crear un proyecto, necesitas el rol de creador de proyectos (roles/resourcemanager.projectCreator), que contiene el resourcemanager.projects.create permiso. Obtén más información para otorgar roles.
    • Crea un proyecto de: Google Cloud

      gcloud projects create PROJECT_ID

      Reemplaza PROJECT_ID por un nombre para el Google Cloud proyecto de que estás creando.

    • Selecciona el Google Cloud proyecto de que creaste:

      gcloud config set project PROJECT_ID

      Reemplaza PROJECT_ID por el nombre de tu Google Cloud proyecto de.

  13. Verifica que tengas los permisos necesarios para completar esta guía.

  14. Verifica que la facturación esté habilitada para tu Google Cloud proyecto.

  15. Habilita la API de Dataproc:

    Roles necesarios para habilitar las APIs

    Para habilitar las APIs, necesitas el rol de IAM de administrador de Service Usage (roles/serviceusage.serviceUsageAdmin), que contiene el serviceusage.services.enable permiso. Obtén más información para otorgar roles.

    gcloud services enable dataproc.googleapis.com

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 ya se hayan otorgado estos roles. Para verificar las concesiones 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 Managed Service for Apache Spark, 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 Managed Service for Apache Spark, pídele a tu administrador que otorgue el rol de IAM de trabajador de Dataproc (roles/dataproc.worker) a la cuenta de servicio predeterminada de Compute Engine en el proyecto.

Crea un clúster

Para crear un clúster llamado example-cluster, ejecuta el siguiente gcloud Managed Service for Apache Spark clusters create comando.

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 calcula un valor aproximado para pi, ejecuta el siguiente comando gcloud Managed Service for Apache Spark 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.
  • La 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

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.

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

¿Qué sigue?