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

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

Pour découvrir comment effectuer des tâches identiques ou similaires avec les guides de démarrage rapide à l'aide d'APIs Explorer, la consoleCloud de Confiance dans Créer un cluster à l'aide de la consoleCloud de Confiance et les bibliothèques clientes dans Créer un cluster à l'aide de bibliothèques clientes, consultez ces ressources.

Avant de commencer

  1. Installez la Google Cloud CLI.

  2. Configurez la gcloud CLI afin d'utiliser votre identité fédérée.

    Pour en savoir plus, consultez Se connecter à la gcloud CLI avec votre identité fédérée.

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

    gcloud init
  4. Créez ou sélectionnez un projet Cloud de Confiance .

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

    • Sélectionnez 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 devez disposer 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 projet Cloud de Confiance  :

      gcloud projects create PROJECT_ID

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

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

      gcloud config set project PROJECT_ID

      Remplacez PROJECT_ID par le nom de votre projet Cloud de Confiance .

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

  6. Vérifiez que la facturation est activée pour votre projet Cloud de Confiance .

  7. Activez l'API Dataproc si ce n'est pas déjà fait :

    Rôles requis pour activer les API

    Pour activer les API, vous devez disposer de l'autorisation serviceusage.services.enable. Si vous avez créé le projet, vous disposez probablement déjà de cette autorisation grâce au rôle Propriétaire (roles/owner). Sinon, vous pouvez obtenir cette autorisation grâce au rôle Administrateur Service Usage (roles/serviceusage.serviceUsageAdmin). 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é 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 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 pour Apache Spark, demandez à votre administrateur d'attribuer les rôles IAM suivants au compte de service Compute Engine par défaut dans le projet :

Créer un cluster

Pour créer un cluster nommé 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 job Spark qui calcule une valeur approximative de pi, exécutez la commande gcloud Managed Service pour 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.

  • Le job s'exécute sur example-cluster.
  • class contient la méthode principale pour SparkPi, qui calcule une valeur approximative de l'application pi.
  • Le fichier JAR contient le code du job. Remarque : file:///usr/lib/spark/examples/jars/spark-examples.jar est un exemple de fichier JAR préinstallé sur le cluster. Pour les jobs personnalisés, spécifiez votre fichier JAR dans Cloud Storage (consultez Envoyer un 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

Exécutez la commande suivante pour indiquer que cinq nœuds de calcul seront utilisés dans le cluster :

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éduire le nombre de nœuds de calcul à la valeur d'origine de 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 ne soient facturées sur votre compte Cloud de Confiance , procédez comme suit :

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

Étapes suivantes