Ce document explique comment créer un cluster Managed Service pour Apache Spark à mise à l'échelle à zéro.
Les clusters à zéro nœud Managed Service pour Apache Spark offrent un moyen économique d'utiliser les clusters Managed Service pour Apache Spark. Contrairement aux clusters Managed Service pour Apache Spark standards qui nécessitent au moins deux nœuds de calcul principaux, les clusters Managed Service pour Apache Spark à mise à l'échelle zéro n'utilisent que des nœuds de calcul secondaires qui peuvent être mis à l'échelle zéro.
Les clusters Managed Service pour Apache Spark à zéro nœud sont idéaux pour une utilisation en tant que clusters de longue durée qui connaissent des périodes d'inactivité, comme un cluster qui héberge un notebook Jupyter. Ils permettent d'améliorer l'utilisation des ressources grâce à des règles d'autoscaling à zéro échelle.
Conditions requises et limites
Un cluster Managed Service pour Apache Spark à zéro nœud présente les exigences et limites suivantes :
- Nécessite la version
2.2.61ou ultérieure de l'image. - Nécessite l'utilisation de Cloud Storage, et non du système de fichiers HDFS.
- Compatible uniquement avec les nœuds de calcul secondaires, et non avec les nœuds de calcul principaux.
- Ne peut pas être converti en cluster standard ni à partir d'un cluster standard.
- Ne prend pas en charge le composant Oozie.
Créer un cluster Managed Service pour Apache Spark à mise à l'échelle à zéro
Vous pouvez créer un cluster à zéro nœud à l'aide de la gcloud CLI ou de l'API Managed Service pour Apache Spark.
gcloud
Exécutez la commande gcloud dataproc clusters create en local dans une fenêtre de terminal ou dans Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \
--region=REGION \
--cluster-type=zero-scale \
--autoscaling-policy=AUTOSCALING_POLICY \
--properties=core:fs.defaultFS=gs://BUCKET_NAME \
...other args
Remplacez les éléments suivants :
- CLUSTER_NAME : nom du cluster à zéro nœud Managed Service pour Apache Spark.
- REGION : région Compute Engine disponible.
- AUTOSCALING_POLICY (facultatif) : si vous créez une règle d'autoscaling à appliquer au cluster à zéro nœud, utilisez cet indicateur pour spécifier l'ID ou l'URI de ressource de la règle d'autoscaling. Lorsque vous créez la règle :
- Définissez
clusterTypesurZERO_SCALE. - Configurez une règle d'autoscaling uniquement pour
secondaryWorkerConfig.
- Définissez
- Système de fichiers Cloud Storage : vous devez définir
core:fs.defaultFSsur un bucket Cloud Storage pour définir le système de fichiers du cluster à zéro nœud sur Cloud Storage au lieu du système HDFS par défaut.- BUCKET_NAME : nom d'un bucket Cloud Storage. Le nom du bucket doit être unique pour chaque cluster à zéro nœud.
REST
- Type de cluster : définissez
ClusterConfig.ClusterTypesurZERO_SCALE. - Règle d'autoscaling (facultatif) : si vous créez une règle d'autoscaling à appliquer au cluster à zéro nœud, définissez
AutoscalingConfig.policyUriavec l'ID de la règle d'autoscalingZERO_SCALE. Lorsque vous créez la règle :- Définissez
clusterTypesurZERO_SCALE. - Configurez une règle d'autoscaling uniquement pour
secondaryWorkerConfig.
- Définissez
- Système de fichiers Cloud Storage : vous devez définir
core:fs.defaultFSsur un bucket Cloud Storage pour définir le système de fichiers du cluster à zéro nœud sur Cloud Storage au lieu du système HDFS par défaut.- Ajoutez
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property. Remplacez BUCKET_NAME par le nom de votre bucket Cloud Storage. Spécifiez un nom de bucket unique pour chaque cluster à zéro nœud.
- Ajoutez
Étapes suivantes
- En savoir plus sur l'autoscaling Managed Service pour Apache Spark