Pour éviter les frais liés à un cluster inactif, utilisez la fonctionnalité de suppression planifiée de cluster de Managed Service pour Apache Spark lorsque vous créez un cluster.Google Cloud Cette fonctionnalité fournit des options pour supprimer un cluster lorsque les événements suivants se produisent :
- 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.
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 qu'elles soient annulées :
- Suppression du rôle IAM d'agent de service Managed Service pour Apache Spark sur le compte de service de l'agent de service Dataproc
- Désactivation de l'API Dataproc dans le projet de cluster
- Activation de la protection contre la suppression des VM Compute Engine sur une VM de cluster avec suppression planifiée
- Activation de VPC-Service Controls si le compte de service de l'agent de service Managed Service pour Apache Spark (identité du plan de contrôle) ne se trouve pas dans les limites du périmètre
Calculer la durée d'inactivité du cluster
Vous pouvez utiliser la suppression planifiée pour supprimer un cluster après une durée d'inactivité spécifiée. La durée d'inactivité est calculée une fois le cluster créé et le provisionnement terminé. Le calcul de la durée d'inactivité commence lorsqu'aucune tâche n'est en cours d'exécution sur un cluster.
La propriété de cluster dataproc:dataproc.cluster-ttl.consider-yarn-activity
affecte le calcul de la durée 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 Managed Service pour Apache Spark Jobs doit être inactive pour que le calcul de la durée d'inactivité du cluster commence et continue d'augmenter.
- L'activité YARN inclut les applications YARN en attente et en cours d'exécution.
- L'activité de l'API Managed Service pour Apache Spark Jobs inclut les tâches en attente et en cours d'exécution envoyées à l'API Managed Service pour Apache Spark Jobs.
- Lorsque cette propriété est définie sur
false, le calcul de la durée d'inactivité du cluster ne commence et ne se poursuit que lorsque l'activité de l'API Managed Service pour Apache Spark Jobs 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 à partir de 1.4.64, 1.5.39, 2.0.13 et versions ultérieures. Pour les clusters créés avec des versions d'image antérieures, seule l'activité de l'API Managed Service pour Apache Spark Jobs est prise en compte dans le calcul de la durée 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 Google Cloud CLI, de l'API Dataproc ou de la Google Cloud console. 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.
gcloud CLI
Vous pouvez créer ou mettre à jour des valeurs de suppression planifiée sur un cluster en transmettant les
options et les valeurs listées dans le tableau suivant aux
gcloud dataproc clusters create
ou gcloud dataproc clusters update
commandes.
| 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 de cluster.
Durée entre le moment où le cluster devient inactif après sa
création ou sa mise à jour et où il est prêt à être utilisé, et le
moment où il commence à être supprimé. Indiquez la durée au
IntegerUnit format, où l'unité peut être "s, m, h, d"
(secondes, minutes, heures, jours). Exemple : "30m" : 30 minutes à partir du moment
où le cluster devient inactif. |
1 seconde | 5 minutes | 14 jours |
--no-delete-max-idle |
S'applique uniquement à la commande de mise à jour de cluster.
Annule la suppression du cluster par le paramètre d'option 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 de cluster. 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 de cluster.
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
IntegerUnit format, où l'unité peut être "s, m, h, d"
(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 de cluster.
Annule la suppression automatique du cluster par le paramètre d'option précédent
delete-max-age ou delete-expiration-time. |
Non applicable | Non applicable | Non applicable |
- Vous pouvez transmettre l'option
delete-max-idleavec l'optiondelete-expiration-timeoudelete-max-agedans votre requête de création ou de mise à jour de cluster. La première à devenir vraie prend effet pour supprimer le cluster. - Vous pouvez transmettre l'option
delete-expiration-timeou l'optiondelete-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 des valeurs de suppression planifiée sur un cluster en définissant les champs et les valeurs ClusterLifecycleConfig de l'API Managed Service pour Apache Spark listés dans le tableau suivant dans le cadre d'une requête d'API cluster.create ou cluster.patch de Managed Service pour Apache Spark.
| 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 de cluster.
Durée entre le moment où le cluster devient inactif après sa
création ou sa mise à jour et où il est prêt à être utilisé, 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 de cluster.
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 précédemment définie. Lors de la mise à jour, si
une valeur vide est définie pour autoDeleteTime, la suppression automatique existante est annulée.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 | 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é. Lorsque vous mettez à jour un cluster,
la nouvelle heure de suppression planifiée (heure de la requête 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 |
- Vous pouvez définir ou mettre à jour à la fois
idleDeleteTtletautoDeleteTimeouautoDeleteTtldans votre requête de création ou de mise à jour de cluster. La première à devenir vraie prend effet pour supprimer le cluster. - Vous pouvez définir ou mettre à jour
autoDeleteTimeouautoDeleteTtldans votre requête, mais pas les deux.
Console
- Ouvrez la page Créer un cluster de Managed Service pour Apache Spark.
- Sélectionnez le panneau Personnaliser le cluster.
- Dans la section Suppression planifiée, sélectionnez les options à appliquer à votre cluster.
Afficher les paramètres du cluster avec suppression planifiée
gcloud CLI
Vous pouvez utiliser la commande gcloud dataproc clusters list pour
confirmer 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 du 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' ...
autoDeleteTime et idleDeleteTtl sont les valeurs de configuration de suppression planifiée définies sur le cluster.
Managed Service pour Apache Spark génère la valeur idleStartTime, qui correspond à la dernière heure de début d'inactivité du cluster. Managed Service pour Apache Spark 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 Managed Service pour Apache Spark dans la Google Cloud console.
- Sur la page d'informations des clusters, sélectionnez l' onglet Configuration. Accédez à la liste de configuration du cluster pour afficher les paramètres de suppression planifiée.