Créer un cluster Dataproc à l'aide de la CLI gcloud

Cette page vous explique comment utiliser l'outil de ligne de commande gcloud du Google Cloud CLI pour créer un cluster Dataproc, exécuter un job Apache Spark dans le cluster, puis modifier le nombre de nœuds de calcul dans le cluster.

Vous pouvez découvrir comment effectuer des tâches identiques ou similaires sur la page Démarrage rapide avec l'explorateur d'API, à l'aide de la console Google Cloud dans Créer un cluster Dataproc à l'aide de la console Google Cloud et à l'aide des bibliothèques clientes dans Créer un cluster Dataproc à l'aide des bibliothèques clientes.

Avant de commencer

  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 vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  4. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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. Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.

  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 vous utilisez un fournisseur d'identité (IdP) externe, vous devez d'abord vous connecter à la gcloud CLI avec votre identité fédérée.

  11. Pour initialiser la gcloud CLI, exécutez la commande suivante :

    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. Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.

  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. Rôles requis

    Certains rôles IAM sont requis pour exécuter les exemples de cette page. En fonction des règles d'administration, ces rôles peuvent déjà avoir été accordés. Pour vérifier les attributions de rôles, consultez Do you need to grant roles? (Devez-vous attribuer des rôles ?).

    Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

    Rôles utilisateur

    Pour obtenir les autorisations nécessaires pour créer un cluster Dataproc, demandez à votre administrateur de vous accorder les rôles IAM suivants :

    Rôle du compte de service

    Pour vous assurer que le compte de service Compute Engine par défaut dispose des autorisations nécessaires pour créer un cluster Dataproc, demandez à votre administrateur d'accorder au compte de service Compute Engine par défaut le rôle IAM Nœud de calcul Dataproc (roles/dataproc.worker) sur le projet.

    Créer un cluster

    Pour créer un cluster nommé example-cluster, exécutez la commande gcloud Dataproc clusters create suivante.

    gcloud dataproc clusters create example-cluster --region=REGION
    

    Remplacez les éléments suivants :

    REGION : spécifiez une région où le cluster sera situé.

    Envoyer une tâche

    Pour envoyer un exemple de job Spark qui calcule une valeur approximative de pi, exécutez la commande gcloud dataproc jobs submit spark suivante :

    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
    

    Remarques :

    Remplacez les éléments suivants :

    REGION : spécifiez la région du cluster.

    • La tâche s'exécute sur example-cluster.
    • class contient la méthode principale pour SparkPi, qui calcule une valeur approximative de pi. application.
    • Le fichier JAR contient le code du job.
    • 1000 est un paramètre de job. Il spécifie le nombre de tâches (itérations) que le job effectue pour calculer la valeur de pi.

    L'exécution du job ainsi que le résultat s'affichent dans la fenêtre de terminal :

    Waiting for job output...
    ...
    Pi is roughly 3.14118528
    ...
    Job finished successfully.
    

    Mettre à jour un cluster

    Pour définir le nombre de nœuds de calcul du cluster sur 5, exécutez la commande suivante :

    gcloud dataproc clusters update example-cluster \
        --region=REGION \
        --num-workers 5
    

    Le résultat de la commande affiche les détails du cluster :

    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.
    

    Pour rétablir la valeur d'origine du nombre de nœuds de calcul (2), exécutez la commande suivante :

    gcloud dataproc clusters update example-cluster \
        --region=REGION \
        --num-workers 2
    

    Effectuer un nettoyage

    Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud , procédez comme suit :

    1. Pour supprimer example-cluster, exécutez la commande clusters delete :
      gcloud dataproc clusters delete example-cluster \
          --region=REGION
      

    Étapes suivantes