En este documento, se describe cómo crear un clúster de Managed Service para Apache Spark con reducción de escala a cero.
Los clústeres de Managed Service para Apache Spark con reducción de escala a cero proporcionan una forma rentable de usar clústeres de Managed Service para Apache Spark. A diferencia de los clústeres estándar de Managed Service para Apache Spark que requieren al menos dos trabajadores principales, los clústeres de Managed Service para Apache Spark con reducción de escala a cero solo usan trabajadores secundarios cuya escala se puede reducir verticalmente a cero.
Los clústeres de Managed Service para Apache Spark con reducción de escala a cero son ideales para usarse como clústeres de ejecución prolongada que experimentan períodos de inactividad, como un clúster que aloja un notebook de Jupyter. Proporcionan un uso de recursos mejorado a través de políticas de escalado automático a cero.
Requisitos y limitaciones
Un clúster de Managed Service para Apache Spark con reducción de escala a cero tiene los siguientes requisitos y limitaciones:
- Requiere la versión de imagen
2.2.61o posterior. - Requiere el uso de Cloud Storage, no el sistema de archivos HDFS.
- Solo admite trabajadores secundarios, no principales.
- No se puede convertir a un clúster estándar ni desde este.
- No admite el componente Oozie.
Crea un clúster de Managed Service para Apache Spark con reducción de escala a cero
Puedes crear un clúster con reducción de escala a cero con la gcloud CLI o la API de Managed Service para Apache Spark.
gcloud
Ejecuta el comando gcloud dataproc clusters create de forma local en una ventana de la terminal o en 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
Reemplaza lo siguiente:
- CLUSTER_NAME: Es el nombre del clúster de Managed Service para Apache Spark con reducción de escala a cero.
- REGION: Es una región de Compute Engine disponible.
- AUTOSCALING_POLICY (opcional): Si
creas una política de escalado automático
para aplicar al clúster con reducción de escala a cero, usa esta marca para especificar el ID o el
URI de recurso de la política de escalado automático. Cuando crees la política, haz lo siguiente:
- Establece
clusterTypeenZERO_SCALE. - Configura una política de escalado automático solo para
secondaryWorkerConfig.
- Establece
- Sistema de archivos de Cloud Storage: Debes establecer
core:fs.defaultFSen un bucket de Cloud Storage para configurar el sistema de archivos del clúster con reducción de escala a cero en Cloud Storage en lugar del HDFS predeterminado.- BUCKET_NAME: Es el nombre de un bucket de Cloud Storage. El nombre del bucket debe ser único para cada clúster con reducción de escala a cero.
REST
- Tipo de clúster: Establece
ClusterConfig.ClusterTypeenZERO_SCALE. - Política de escalado automático (opcional): Si
creas una política de escalado automático
para aplicar al clúster con reducción de escala a cero, establece
AutoscalingConfig.policyUricon elZERO_SCALEID de la política de escalado automático. Cuando crees la política, haz lo siguiente:- Establece
clusterTypeenZERO_SCALE. - Configura una política de escalado automático solo para
secondaryWorkerConfig.
- Establece
- Sistema de archivos de Cloud Storage: Debes establecer
core:fs.defaultFSen un bucket de Cloud Storage para configurar el sistema de archivos del clúster con reducción de escala a cero en Cloud Storage en lugar del HDFS predeterminado.- Agrega
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property. Reemplaza BUCKET_NAME por el nombre de tu bucket de Cloud Storage. Especifica un nombre de bucket único para cada clúster con reducción de escala a cero.
- Agrega
¿Qué sigue?
- Obtén más información sobre el escalado automático de Managed Service para Apache Spark.