Suppression planifiée du cluster

Pour éviter les frais Google Cloud liés à un cluster inactif, utilisez la fonctionnalité de suppression planifiée de cluster Dataproc lorsque vous créez un tel cluster. Cette fonctionnalité fournit des options pour supprimer un cluster :

  • après une période d'inactivité spécifiée du cluster ;
  • à une heure spécifiée ;
  • après une période spécifiée commençant à partir de la soumission de la requête de création du cluster.

Calcul du temps d'inactivité du cluster

La propriété de cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity affecte le calcul du temps d'inactivité du cluster, comme suit:

  • Cette propriété est activée (définie sur true) par défaut.
  • Lorsque cette propriété est activée, l'activité de l'API YARN et de l'API Dataproc Jobs doit être inactive pour démarrer et continuer à incrémenter le calcul du temps d'inactivité du cluster.
    • L'activité YARN inclut les applications YARN en attente et en cours d'exécution.
    • L'activité de l'API Dataproc Jobs inclut les tâches en attente et en cours d'exécution envoyées à l'API Dataproc Jobs.
  • Lorsque cette propriété est définie sur false, l'activité de l'API Jobs de Dataproc doit être inactive pour démarrer et continuer à incrémenter le calcul du temps d'inactivité du cluster.

Utiliser la suppression planifiée du cluster

Commande gcloud

Vous pouvez créer un cluster avec la fonctionnalité de suppression planifiée en transmettant les options de suppression planifiée suivantes à la commande gcloud dataproc clusters create.

OptionDescriptionPrécisionValeur minimaleValeur maximale
--max-idle1Durée entre le moment où le cluster passe à l'état inactif et le moment où le cluster commence à être supprimé. Indiquez la durée au format IntegerUnit, où l'unité peut être "s, m, h, d" (respectivement : secondes, minutes, heures, jours). Exemples : "30m" ou "1d" (30 minutes ou 1 jour après le moment où le cluster devient inactif).1 seconde5 minutes14 jours
--expiration-time2Heure de début de la suppression du cluster au format date/heure ISO 8601. Le générateur d'horodatage est un moyen simple de générer la date et l'heure au format correct. Par exemple, "2017-08-22T13:31:48-08:00" définit l'heure d'expiration sur 13:21:48 dans le fuseau horaire UTC -8:00.1 seconde10 minutes à partir de l'heure actuelle14 jours à partir de l'heure actuelle
--max-age2Durée entre la soumission de la requête de création du cluster et le moment où le cluster commence à être supprimé. Indiquez la durée au format IntegerUnit, où l'unité peut être "s, m, h, d" (respectivement : secondes, minutes, heures, jours). Exemples : "30m" (30 minutes à partir de maintenant) ; "1d" (1 jour à partir de maintenant).1 seconde10 minutes14 jours
gcloud dataproc clusters create cluster-name \
    --region=region \
    --max-idle=duration \
    --expiration-time=time \
    ... other flags ...

Vous pouvez mettre à jour un cluster créé avec la fonctionnalité de suppression planifiée pour modifier ou supprimer les paramètres de suppression planifiée à l'aide de la commande gcloud dataproc clusters update. (Les autres options de mise à jour de cluster ne peuvent pas être combinées aux options de suppression programmée.)

OptionDescriptionPrécisionValeur minimaleValeur maximale
--max-idle1Durée entre le moment où le cluster passe à l'état inactif et le moment où le cluster commence à être supprimé. Indiquez la durée au format IntegerUnit, où l'unité peut être "s, m, h, d" (respectivement : secondes, minutes, heures, jours). Exemples : "30m" ou "1d" (30 minutes ou 1 jour après le moment où le cluster devient inactif).1 seconde5 minutes14 jours
--no-max-idleAnnule la suppression automatique du cluster en fonction de la durée d'inactivité du cluster précédemment définie par l'indicateur "max-idle".Non applicableNon applicableNon applicable
--expiration-time2Heure de début de la suppression du cluster au format date/heure ISO 8601. Le générateur d'horodatage est un moyen simple de générer la date et l'heure au format correct. Par exemple, "2017-08-22T13:31:48-08:00" définit l'heure d'expiration sur 13:21:48 dans le fuseau horaire UTC -8:00.1 seconde10 minutes à partir de l'heure actuelle. La nouvelle heure ne doit pas être antérieure à l'heure définie précédemment.14 jours à partir de l'heure actuelle
--max-age2Durée entre la soumission de la requête de mise à jour du cluster et le moment où le cluster commence à être supprimé. Indiquez la durée au format IntegerUnit, où l'unité peut être "s, m, h, d" (respectivement : secondes, minutes, heures, jours). Exemples : "30m" (30 minutes à partir de maintenant) ; "1d" (1 jour à partir de maintenant).1 seconde10 minutes. L'heure de suppression planifiée mise à jour (heure mise à jour et nouvelle durée maximale) ne doit pas être antérieure à l'heure de suppression du cluster précédemment définie.14 jours
--no-max-ageAnnule la suppression automatique du cluster en fonction de la durée maximum du cluster précédemment définie par l'indicateur "max-idle" ou "expiration-time".Non applicableNon applicableNon applicable
gcloud dataproc clusters update cluster-name \
    --region=region \
    --max-idle=duration \
    --no-max-age \
    ... other flags

API REST

Vous pouvez créer un cluster avec la fonctionnalité de suppression planifiée en définissant les champs ClusterLifecycleConfig suivants dans votre demande d'API cluster.create ou cluster.patch.

Option Description Précision Valeur minimale Valeur maximale
idleDeleteTtl1 Durée entre le moment où le cluster passe à l'état inactif et le moment où le cluster commence à être supprimé. Indiquez une durée en secondes avec un maximum de neuf chiffres après la virgule. Se termine par "s". Exemple : "3.5s". 1 seconde 5 minutes à partir de la création ou de la mise à jour du cluster. Lors de la mise à jour d'un cluster, la nouvelle valeur doit être supérieure à la valeur précédemment définie. Envoyez une requête cluster.patch avec une durée vide pour annuler une valeur idleDeleteTtl précédemment définie. 14 jours
autoDeleteTime2 Heure de début de la suppression du cluster. Fournit un horodatage au format RFC 3339 UTC "Zulu", d'une justesse à la nanoseconde près. Exemple : "2014-10-02T15:01:23.045123456Z". 1 seconde 10 minutes à partir de l'heure actuelle Lors de la mise à jour d'un cluster, la nouvelle heure doit être postérieure à l'heure définie précédemment. 14 jours à partir de l'heure actuelle
autoDeleteTtl2 Durée entre la soumission de la requête de création ou de mise à jour du cluster et le moment où le cluster commence à être supprimé. Indiquez une durée en secondes avec un maximum de neuf chiffres après la virgule. Se termine par "s". Exemple : "3.5s". 1 seconde 10 minutes. Lors de la mise à jour d'un cluster, la nouvelle heure de suppression planifiée (heure mise à jour et nouvelle durée maximale) doit être postérieure à l'heure de suppression du cluster précédemment définie. Envoyez une requête cluster.patch avec une durée vide pour annuler une valeur autoDeleteTtl précédemment définie. 14 jours

Console

  • Ouvrez la page Dataproc Créer un cluster, puis sélectionnez le panneau "Personnaliser le cluster". Faites défiler la page jusqu'à la section "Suppression planifiée", puis sélectionnez les options à appliquer à votre cluster.

Affichage des paramètres du cluster avec suppression programmée

Commande gcloud

Vous pouvez utiliser la commande gcloud dataproc clusters list pour vérifier que la suppression planifiée d'un cluster est activée.

 gcloud dataproc clusters list \
     --region=region
...
NAME         WORKER_COUNT ... SCHEDULED_DELETE
cluster-id   number       ... enabled
...

Vous pouvez utiliser la commande gcloud dataproc clusters describe pour vérifier les paramètres de suppression planifiée LifecycleConfig d'un cluster.

gcloud dataproc clusters describe cluster-name \
    --region=region
...
lifecycleConfig:
  autoDeleteTime: '2018-11-28T19:33:48.146Z'
  idleDeleteTtl: 1800s
  idleStartTime: '2018-11-28T18:33:48.146Z'
...

Les valeurs autoDeleteTime et idleDeleteTtl sont les valeurs de configuration de suppression planifiée précédemment définies par l'utilisateur sur le cluster. Dataproc génère la valeur idleStartTime, qui correspond à la dernière heure de début d'inactivité du cluster. Dataproc supprime le cluster s'il reste inactif à idleStartTime + idleDeleteTtl.

API REST

Vous pouvez faire une requête clusters.list pour confirmer que la suppression planifiée d'un cluster est activée.

Console

Vous pouvez afficher les paramètres de suppression planifiée du cluster en sélectionnant le nom du cluster sur la page Clusters de Dataproc dans la console Google Cloud. Sur la page des détails du cluster, sélectionnez l'onglet "CONFIGURATION". Faites défiler la liste de configuration du cluster pour afficher les paramètres de suppression planifiée.