Créer un cluster partiel Dataproc

Pour atténuer les effets de l'indisponibilité des VM spécifiées par l'utilisateur dans des régions spécifiques à des moments précis (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 principaux acceptable pour permettre la création du cluster.

Cluster standard Cluster partiel
Si un ou plusieurs nœuds de calcul principaux ne peuvent pas être créés ni initialisés, la création du cluster échoue. Les workers créés continuent de s'exécuter et d'entraîner des frais 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 nœuds de calcul ayant échoué (non initialisés) sont supprimés et n'entraînent pas de frais. Si le nombre minimal de nœuds de calcul spécifié ne peut pas être créé ni initialisé, le cluster n'est pas créé. Les workers créés ne sont pas supprimés pour permettre le débogage.
Le temps de création des clusters est optimisé. La création du cluster peut prendre plus de temps, car tous les nœuds doivent indiquer l'état du provisionnement.
Les clusters à nœud unique peuvent être créés. La création de clusters à nœud unique n'est pas disponible.

Autoscaling

Utilisez l'autoscaling avec la création partielle de clusters pour vous assurer que le nombre cible (complet) de nœuds de calcul principaux est créé. L'autoscaling tentera d'acquérir les nœuds de calcul ayant échoué en arrière-plan si la charge de travail les nécessite.

Voici un exemple de règle d'autoscaling qui effectue des nouvelles tentatives jusqu'à ce que le nombre total d'instances de nœuds de calcul principaux atteigne une taille cible de 10. Les valeurs minInstances et maxInstances de la règle correspondent au nombre minimal et total de nœuds de calcul principaux spécifiés lors de la création du cluster (voir Créer un cluster partiel). Si vous définissez scaleDownFactor sur 0, vous empêchez le cluster de passer de 10 à 8 nœuds, ce qui permet de maintenir le nombre de nœuds de calcul à la limite maximale de 10.

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

Créer un cluster partiel

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

gcloud

Pour créer un cluster Dataproc partiel sur la ligne de commande, exécutez la commande gcloud dataproc clusters create suivante 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 ...

Remplacez les éléments suivants :

  • CLUSTER_NAME : le nom du cluster doit commencer par une lettre minuscule suivie de 1 à 51 caractères (lettres minuscules, chiffres ou traits d'union) et ne peut pas se terminer par un trait d'union.
  • PROJECT : spécifiez le projet associé au cluster de jobs.
  • 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 principaux à créer dans le cluster, le cas échéant.
  • MIN_NUM_WORKERS : nombre minimal de nœuds de calcul principaux à 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 cet indicateur est omis, la création d'un cluster standard avec le nombre total de nœuds de calcul principaux (NUM_WORKERS) est tentée.

REST

Pour créer un cluster partiel Dataproc, spécifiez le nombre minimal de nœuds de calcul principaux dans le champ workerConfig.minNumInstances 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 commande gcloud CLI suivante pour lister le nombre de nœuds de calcul provisionnés dans votre cluster, y compris les nœuds de calcul secondaires.

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