Suppression planifiée du cluster

Pour éviter les fraisGoogle 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é permet de supprimer un cluster lorsque les événements suivants se produisent :

Actions qui désactivent la suppression planifiée

Lorsqu'un cluster est en cours d'exécution, les actions suivantes désactivent la suppression planifiée jusqu'à ce que l'action de désactivation soit annulée :

Calculer le temps d'inactivité d'un cluster

Vous pouvez utiliser la suppression planifiée pour supprimer un cluster après une période d'inactivité spécifiée. Le temps d'inactivité est calculé une fois le cluster créé et son provisionnement terminé. Le calcul du temps d'inactivité commence lorsqu'un cluster n'exécute aucune tâche.

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é YARN et celle de l'API Dataproc Jobs doivent être inactives pour que le calcul du temps d'inactivité du cluster puisse commencer et se poursuivre.
    • L'activité YARN inclut les applications YARN en attente et en cours d'exécution.
    • L'activité de l'API Jobs Dataproc inclut les tâches en attente et en cours d'exécution envoyées à l'API Jobs Dataproc.
  • Lorsque cette propriété est définie sur false, le calcul du temps d'inactivité du cluster ne démarre et ne se poursuit que lorsque l'activité de l'API Jobs de Dataproc est inactive.

La propriété dataproc:dataproc.cluster-ttl.consider-yarn-activity s'applique aux clusters créés avec des versions d'image publiées le 1.4.64, le 1.5.39, le 2.0.13 ou après. Pour les clusters créés avec des versions d'image antérieures, seule l'activité de l'API Dataproc Jobs est prise en compte dans le calcul du temps d'inactivité du cluster.

Utiliser la suppression planifiée du cluster

Vous pouvez définir des valeurs de suppression planifiée lorsque vous créez un cluster à l'aide de la console, de l'API Dataproc ou de la Google Cloud CLI Google Cloud . Une fois le cluster créé, vous pouvez le mettre à jour pour modifier ou supprimer les valeurs de suppression planifiée précédemment définies.

CLI gcloud

Vous pouvez créer ou mettre à jour les valeurs de suppression planifiée sur un cluster en transmettant les indicateurs et les valeurs listés dans le tableau suivant aux commandes gcloud dataproc clusters create ou gcloud dataproc clusters update.

Option de gcloud CLI Description Précision de la valeur Valeur minimale Valeur maximale
--delete-max-idle1 S'applique aux commandes de création et de mise à jour des clusters. Durée entre le moment où le cluster devient inactif après sa création ou sa mise à jour et le moment où il commence à être supprimé. Indiquez la durée au format IntegerUnit, où l'unité peut être "s, m, h, d" (respectivement : secondes, minutes, heures, jours). Exemple : "30m" (30 minutes après le moment où le cluster devient inactif). 1 seconde 5 minutes 14 jours
--no-delete-max-idle S'applique uniquement à la commande de mise à jour du cluster. Annule la suppression du cluster en fonction du paramètre d'indicateur delete-max-idle précédent. Non applicable Non applicable Non applicable
--delete-expiration-time2 S'applique aux commandes de création et de mise à jour des clusters. Heure de début de la suppression du cluster au format date/heure ISO 8601. Pour générer la date et l'heure au format correct, vous pouvez utiliser le générateur d'horodatage. 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 seconde 10 minutes à partir de l'heure actuelle 14 jours à partir de l'heure actuelle
--delete-max-age2 S'applique aux commandes de création et de mise à jour des clusters. Duré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 seconde 10 minutes 14 jours
--no-delete-max-age S'applique uniquement à la commande de mise à jour du cluster. Annule la suppression automatique du cluster en fonction du paramètre d'indicateur delete-max-age ou delete-expiration-time précédent. Non applicable Non applicable Non applicable
Remarques :
  1. Vous pouvez transmettre l'option delete-max-idle avec l'option delete-expiration-time ou delete-max-age dans votre requête de création ou de mise à jour de cluster. La première option dont les paramètres sont remplis prend effet pour supprimer le cluster.
  2. Vous pouvez transmettre l'option delete-expiration-time ou l'option delete-max-age à la commande de création ou de mise à jour de cluster, mais pas les deux.

Exemple de création de cluster :

gcloud dataproc clusters create CLUSTER_NAME \
    --region=REGION \
    --delete-max-idle=DURATION \
    --delete-expiration-time=TIME \
    ... other flags ...

Exemple de mise à jour de cluster :

gcloud dataproc clusters update CLUSTER_NAME \
    --region=REGION \
    --delete-max-idle=DURATION \
    --no-delete-max-age \
    ... other flags

API REST

Vous pouvez créer ou mettre à jour les valeurs de suppression planifiée d'un cluster en définissant les champs et les valeurs ClusterLifecycleConfig de l'API Dataproc listés dans le tableau suivant dans le cadre d'une requête d'API cluster.create ou cluster.patch de Dataproc.

Champ de l'API Description Précision de la valeur Valeur minimale Valeur maximale
idleDeleteTtl1 S'applique aux commandes de création et de mise à jour des clusters. Durée entre le moment où le cluster devient inactif après sa création ou sa mise à jour et le moment où il commence à être supprimé. Lorsque vous mettez à jour un cluster avec une nouvelle valeur, celle-ci doit être supérieure à la valeur précédemment définie. Indiquez une durée en secondes avec un maximum de neuf chiffres après la virgule. Se termine par "s". Exemple : "3.5s". Envoyez une durée vide pour annuler une valeur idleDeleteTtl précédemment définie. 1 seconde 5 minutes 14 jours
autoDeleteTime2 S'applique aux commandes de création et de mise à jour des clusters. Heure de début de la suppression du cluster. Lorsque vous mettez à jour un cluster avec une nouvelle heure, celle-ci doit être postérieure à l'heure définie précédemment. Lors de la mise à jour, si une valeur vide est définie pour autoDeleteTime, la suppression automatique existante est annulée.
Fournissez un horodatage au format RFC 3339 UTC "Zulu", précis à la nanoseconde près. Exemple : "2014-10-02T15:01:23.045123456Z".
1 seconde 10 minutes à partir de l'heure actuelle 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é. Lors de la mise à jour d'un cluster, la nouvelle heure de suppression planifiée (heure de la demande de mise à jour plus la nouvelle durée) doit être postérieure à l'heure de suppression du cluster précédemment définie. Envoyez une valeur vide pour annuler une valeur autoDeleteTtl précédemment définie. 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 14 jours
Remarques :
  1. Vous pouvez définir ou mettre à jour idleDeleteTtl et autoDeleteTime ou autoDeleteTtl dans votre requête de création ou de mise à jour de cluster. La première option dont les paramètres sont remplis prend effet pour supprimer le cluster.
  2. Vous pouvez définir ou mettre à jour autoDeleteTime ou autoDeleteTtl dans votre requête, mais pas les deux.

Console

  1. Ouvrez la page Créer un cluster de Dataproc.
  2. Sélectionnez le panneau Personnaliser le cluster.
  3. Dans la section Suppression planifiée, sélectionnez les options à appliquer à votre cluster.

Afficher les paramètres du cluster avec suppression programmée

CLI 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
Exemple de résultat :
...
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 définies 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 Google Cloud console.
  • Sur la page des détails du cluster, sélectionnez l'onglet Configuration. Accédez à la liste de configuration du cluster pour afficher les paramètres de suppression planifiée.