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

Cette page vous explique comment utiliser l'outil de ligne de commande gcloud de Google Cloud CLI gcloud pour créer un cluster Managed Service for Apache Spark, exécuter une tâche 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 Google Cloud console sur la page Créer un cluster à l'aide de la Google Cloud console, et à l'aide des bibliothèques clientes sur la page Créer un cluster à l'aide des bibliothèques clientes.

Avant de commencer

  1. Connectez-vous à votre Google Cloud compte. Si vous n'avez jamais utilisé Google Cloud, créez un compte pour évaluer les performances de nos produits dans des scénarios réels. Les nouveaux clients bénéficient également de 300 $de crédits sans frais pour exécuter, tester et déployer des charges de travail.
  2. Installez la 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 gcloud CLI, exécutez la commande suivante :

    gcloud init
  5. Créez ou sélectionnez un Google Cloud projet.

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un Google Cloud projet :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du Google Cloud projet que vous créez.

    • Sélectionnez le Google Cloud projet que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre Google Cloud projet.

  6. Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.

  7. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  8. Activez l'API Dataproc :

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l' serviceusage.services.enable autorisation. Découvrez comment attribuer des rôles.

    gcloud services enable dataproc.googleapis.com
  9. Installez la 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 gcloud CLI, exécutez la commande suivante :

    gcloud init
  12. Créez ou sélectionnez un Google Cloud projet.

    Rôles requis pour sélectionner ou créer un projet

    • Sélectionner un projet : la sélection d'un projet ne nécessite pas de rôle IAM spécifique Vous pouvez sélectionner n'importe quel projet pour lequel un rôle vous a été attribué.
    • Créer un projet : pour créer un projet, vous avez besoin du rôle Créateur de projet (roles/resourcemanager.projectCreator), qui contient l'autorisation resourcemanager.projects.create. Découvrez comment attribuer des rôles.
    • Créez un Google Cloud projet :

      gcloud projects create PROJECT_ID

      Remplacez PROJECT_ID par le nom du Google Cloud projet que vous créez.

    • Sélectionnez le Google Cloud projet que vous avez créé :

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre Google Cloud projet.

  13. Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.

  14. Vérifiez que la facturation est activée pour votre Google Cloud projet.

  15. Activez l'API Dataproc :

    Rôles requis pour activer les API

    Pour activer les API, vous avez besoin du rôle IAM Administrateur d'utilisation du service (roles/serviceusage.serviceUsageAdmin), qui contient l' serviceusage.services.enable autorisation. Découvrez comment attribuer des rôles.

    gcloud services enable dataproc.googleapis.com

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é attribués. Pour vérifier les attributions de rôles, consultez la section Devez-vous attribuer des rôles ?.

Pour en savoir plus sur l'attribution de rôles, consultez la page 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 Managed Service for Apache Spark, 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 Managed Service for Apache Spark, demandez à votre administrateur d'attribuer le rôle IAM Nœud de calcul Dataproc (roles/dataproc.worker) au compte de service Compute Engine par défaut sur le projet.

Créer un cluster

Pour créer un cluster appelé example-cluster, exécutez la commande gcloud Managed Service for Apache Spark clusters create suivante.

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

Remplacez les éléments suivants :

REGION : spécifiez une région dans laquelle le cluster sera situé.

Envoyer une tâche

Pour envoyer un exemple de tâche Spark qui calcule une valeur approximative de pi, exécutez la commande gcloud Managed Service for Apache Spark 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.
  • La class contient la méthode principale pour SparkPi, qui calcule une valeur approximative de pi. application.
  • Le fichier JAR contient le code de la tâche.
  • 1000 est un paramètre de tâche. Il spécifie le nombre de tâches (itérations) que la tâche 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

La 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 dans cette démonstration soient facturées sur votre Google Cloud compte pour cette page, procédez comme suit :

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

Étape suivante