Créer un cluster Managed Service pour Apache Spark à zéro nœud

Ce document explique comment créer un cluster Managed Service pour Apache Spark avec scaling à zéro.

Les clusters Managed Service pour Apache Spark sans scaling 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 sans scaling utilisent uniquement des nœuds de calcul secondaires qui peuvent être réduits à zéro.

Les clusters Managed Service pour Apache Spark sans scaling sont parfaits 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 sans scaling.

Caractéristiques et limites

Un cluster Managed Service pour Apache Spark sans scaling partage des similitudes avec un cluster standard, mais présente les caractéristiques et limites uniques suivantes :

  • Nécessite la version d'image 2.2.53 ou ultérieure.
  • Compatible uniquement avec les nœuds de calcul secondaires, pas avec les nœuds de calcul principaux.
  • Inclut des services tels que YARN, mais n'est pas compatible avec le système de fichiers HDFS.

    • Pour utiliser Cloud Storage comme système de fichiers par défaut, définissez la propriété de cluster core:fs.defaultFS sur un emplacement de bucket Cloud Storage (gs://BUCKET_NAME).
    • Si vous désactivez un composant lors de la création du cluster, désactivez également HDFS.
  • Ne peut pas être converti en cluster standard, ni l'inverse.

  • Nécessite une règle d'autoscaling pour les types de clusters ZERO_SCALE.

  • Nécessite de sélectionner des VM flexibles comme type de machine.

  • Le composant Oozie n'est pas compatible.

  • Impossible de créer à partir de la console Google Cloud .

Facultatif : Configurez une règle d'autoscaling

Vous pouvez configurer une règle d'autoscaling pour définir le scaling des nœuds de calcul secondaires pour un cluster sans scaling. en tenant compte de ce qui suit :

  • Définissez le type de cluster sur ZERO_SCALE.
  • Configurez une règle d'autoscaling uniquement pour la configuration des nœuds de calcul secondaires.

Pour en savoir plus, consultez Créer une règle d'autoscaling.

Créer un cluster Managed Service pour Apache Spark sans scaling

Créez un cluster sans scaling à l'aide de la gcloud CLI ou de l'API Dataproc.

gcloud

Exécutez la commande gcloud dataproc clusters create localement 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 \
    --secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
    ...other args

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du cluster Managed Service pour Apache Spark sans scaling.
  • REGION : une région Compute Engine disponible.
  • AUTOSCALING_POLICY : ID ou URI de ressource de la règle d'autoscaling.
  • BUCKET_NAME : nom de votre bucket Cloud Storage.
  • MACHINE_TYPE : type de machine Compute Engine spécifique, tel que n1-standard-4, e2-standard-8.
  • RANK : définit la priorité d'une liste de types de machines.

REST

Créez un cluster sans scaling à l'aide d'une requête cluster.create de l'API REST Managed Service pour Apache Spark :

Étapes suivantes