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
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. 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.
-
Installez la Google Cloud CLI.
-
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.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
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'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez l'API Dataproc :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. Découvrez comment attribuer des rôles.gcloud services enable dataproc.googleapis.com
-
Installez la Google Cloud CLI.
-
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.
-
Pour initialiser la gcloud CLI, exécutez la commande suivante :
gcloud init -
Créez ou sélectionnez un projet Google Cloud .
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'autorisationresourcemanager.projects.create. Découvrez comment attribuer des rôles.
-
Créez un projet Google Cloud :
gcloud projects create PROJECT_ID
Remplacez
PROJECT_IDpar le nom du projet Google Cloud que vous créez. -
Sélectionnez le projet Google Cloud que vous avez créé :
gcloud config set project PROJECT_ID
Remplacez
PROJECT_IDpar le nom de votre projet Google Cloud .
-
Vérifiez que vous disposez des autorisations requises pour suivre les instructions de ce guide.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud .
Activez l'API Dataproc :
Rôles requis pour activer les API
Pour activer les API, vous avez besoin du rôle IAM Administrateur Service Usage (
roles/serviceusage.serviceUsageAdmin), qui contient l'autorisationserviceusage.services.enable. 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 Dataproc, demandez à votre administrateur de vous accorder les rôles IAM suivants :
-
Éditeur Dataproc (
roles/dataproc.editor) sur le projet -
Utilisateur du compte de service (
roles/iam.serviceAccountUser) sur le compte de service Compute Engine par défaut
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. classcontient la méthode principale pour SparkPi, qui calcule une valeur approximative depi. application.- Le fichier JAR contient le code du job.
1000est un paramètre de job. Il spécifie le nombre de tâches (itérations) que le job effectue pour calculer la valeur depi.
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 :
- Pour supprimer
example-cluster, exécutez la commandeclusters delete:gcloud dataproc clusters delete example-cluster \ --region=REGION
Étapes suivantes
- Découvrez comment écrire et exécuter une tâche Spark Scala.