Créer un cluster partiel

Pour atténuer les effets de l'indisponibilité des VM spécifiées par l'utilisateur dans des des régions à des heures spécifiques (ruptures de stock), Dataproc vous permet de demander la création d'un partial cluster en spécifiant un nombre minimal de nœuds de calcul primaires acceptable pour la création de clusters ;

Cluster standard Cluster partiel
Si un ou plusieurs nœuds de calcul principaux ne peuvent pas être créés et initialisés, la création du cluster échoue. Les workers créés continuent de s'exécuter et sont facturés jusqu'à ce qu'ils soient supprimés par l'utilisateur. Si le nombre minimal de nœuds de calcul spécifié peut être créé, le cluster est créé. Les workers ayant échoué (non initialisés) sont supprimés et ne sont pas facturés. Si le nombre minimal de nœuds de calcul spécifié ne peut pas être créée et initialisée, le cluster n'est pas créé. Les workers créés ne sont pas supprimés pour permettre le débogage.
La date et l'heure de création du cluster sont optimisées. La création du cluster peut prendre plus de temps, car tous les nœuds doivent signaler l'état du provisionnement.
Clusters à nœud unique peuvent être créées. Clusters à nœud unique ne peuvent pas être créées.

Autoscaling :

Utiliser l'autoscaling avec la création partielle de clusters pour garantir que le nombre (complet) cible des nœuds de calcul primaires est créé. L'autoscaling tentera d'acquérir des nœuds de calcul ayant échoué en arrière-plan si la charge de travail en a besoin.

Voici un exemple de règle d'autoscaling qui effectue de nouvelles tentatives jusqu'à ce que le nombre total des instances de nœuds de calcul primaires atteint une taille cible de 10. Les valeurs minInstances et maxInstances de la règle correspondent au minimum et au total nombre de nœuds de calcul primaires spécifié au moment de la création du cluster (voir comment créer un cluster partiel). Définir scaleDownFactor sur 0 empêche le cluster de passer de 10 à 8 et permet de maintenir le nombre de nœuds de calcul à 10.

workerConfig:
  minInstances: 8
  maxInstances: 10
basicAlgorithm:
  cooldownPeriod: 2m
  yarnConfig:
    scaleUpFactor: 1
    scaleDownFactor: 0
    gracefulDecommissionTimeout: 1h

Créer un cluster partiel

Vous pouvez utiliser la Google Cloud CLI ou l'API Dataproc pour créer un cluster partiel Dataproc.

gcloud

Pour créer un cluster Dataproc partiel dans la ligne de commande, exécutez la vous suivez gcloud dataproc clusters create en local dans une fenêtre de terminal ou dans Cloud Shell :

gcloud dataproc clusters create CLUSTER_NAME \
    --project=PROJECT \
    --region=REGION \
    --num-workers=NUM_WORKERS \
    --min-num-workers=MIN_NUM_WORKERS \
    other args ...
  • CLUSTER_NAME: le nom du cluster doit commencer par une lettre minuscule suivi de 1 à 51 caractères (lettres minuscules, chiffres et traits d'union). Il ne peut pas se terminer par un trait d'union.
  • PROJECT : spécifiez le projet associé au cluster de tâches.
  • REGION : spécifiez la région Compute Engine dans laquelle se trouvera le cluster de tâches.
  • NUM_WORKERS: nombre total de nœuds de calcul primaires dans le cluster auxquels créer, le cas échéant.
  • MIN_NUM_WORKERS: nombre minimal de nœuds de calcul primaires à créer si le nombre total de nœuds de calcul spécifié (NUM_WORKERS) ne peut pas être créé. La création du cluster échoue si ce nombre minimal de nœuds de calcul principaux ne peut pas être créé (les nœuds de calcul créés ne sont pas supprimés pour permettre le débogage). Si cette option est omise, un cluster standard est créé avec le nombre total une tentative de nœud de calcul primaire (NUM_WORKERS).

REST

Pour créer un cluster Dataproc partiel, spécifiez le nombre minimal de nœuds de calcul principaux dans le champ workerConfig.minNumInstances dans le cadre d'une requête clusters.create.

Afficher le nombre de nœuds de calcul provisionnés

Après avoir créé un cluster, vous pouvez exécuter la gcloud CLI suivante pour lister le nombre de nœuds de calcul, y compris les nœuds de calcul secondaires, provisionnés dans votre cluster.

gcloud dataproc clusters list \
    --project=PROJECT \
    --region=REGION \
    --filter=clusterName=CLUSTER_NAME