En este documento se describe cómo crear un clúster de Dataproc sin escalado.
Los clústeres de Dataproc sin escalado proporcionan una forma rentable de usar clústeres de Dataproc. A diferencia de los clústeres de Dataproc estándar, que requieren al menos dos trabajadores principales, los clústeres de Dataproc con escalado a cero solo usan trabajadores secundarios, que se pueden reducir a cero.
Los clústeres de Dataproc sin escalado son ideales para usarse como clústeres de larga duración que experimentan periodos de inactividad, como un clúster que aloja un cuaderno de Jupiter. Ofrecen una mejor utilización de los recursos mediante el uso de políticas de escalado automático de escala cero.
Características y limitaciones
Un clúster de Dataproc sin escalado comparte similitudes con un clúster estándar, pero tiene las siguientes características y limitaciones únicas:
- Se necesita la versión
2.2.53
de la imagen o una posterior. - Solo admite trabajadores secundarios, no primarios.
Incluye servicios como YARN, pero no es compatible con el sistema de archivos HDFS.
- Para usar Cloud Storage como sistema de archivos predeterminado, asigna a la propiedad de clúster
core:fs.defaultFS
la ubicación de un segmento de Cloud Storage (gs://BUCKET_NAME
). - Si inhabilitas un componente durante la creación del clúster, también debes inhabilitar HDFS.
- Para usar Cloud Storage como sistema de archivos predeterminado, asigna a la propiedad de clúster
No se puede convertir en un clúster estándar ni viceversa.
Requiere una política de autoescalado para los tipos de clúster
ZERO_SCALE
.Requiere seleccionar máquinas virtuales flexibles como tipo de máquina.
No es compatible con el componente Oozie.
No se puede crear desde la consola de Google Cloud .
Opcional: Configurar una política de autoescalado
Puedes configurar una política de autoescalado para definir el escalado de trabajo secundario de un clúster de escalado a cero. Cuando lo hagas, ten en cuenta lo siguiente:
- Define el tipo de clúster como
ZERO_SCALE
. - Configura una política de autoescalado solo para la configuración de trabajador secundario.
Para obtener más información, consulta Crear una política de autoescalado.
Crear un clúster de Dataproc sin escalado
Crea un clúster con escalado a cero mediante la CLI de gcloud o la API de Dataproc.
gcloud
Ejecuta el comando
gcloud dataproc clusters create
de forma local en una ventana de 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 \
--secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
...other args
Haz los cambios siguientes:
- CLUSTER_NAME: nombre del clúster de Dataproc sin escalado.
- REGION: una región de Compute Engine disponible.
- AUTOSCALING_POLICY: el ID o el URI del recurso de la política de escalado automático.
- BUCKET_NAME: nombre de tu segmento de Cloud Storage.
- MACHINE_TYPE: tipo de máquina de Compute Engine específico, como
n1-standard-4
oe2-standard-8
. - RANK: define la prioridad de una lista de tipos de máquina.
REST
Crea un clúster de escalado a cero mediante una solicitud cluster.create de la API REST de Dataproc:
- Asigna el valor
ZERO_SCALE
aClusterConfig.ClusterType
parasecondaryWorkerConfig
. - Define
AutoscalingConfig.policyUri
con el ID de la política de autoescaladoZERO_SCALE
. - Añade
core:fs.defaultFS:gs://BUCKET_NAME
SoftwareConfig.property. Sustituye BUCKET_NAME por el nombre de tu segmento de Cloud Storage.
Siguientes pasos
- Consulta más información sobre el autoescalado de Dataproc.