Crea un clúster parcial

A fin de mitigar los efectos de la falta de disponibilidad de las VM especificadas por el usuario en regiones específicas en momentos específicos (stockout), Dataproc te permite solicitar la creación de un partial cluster mediante la especificación de una cantidad mínima de trabajadores principales que es aceptable para permitir la creación de clústeres.

Clúster estándar Clúster parcial
Si uno o más trabajadores principales no se pueden crear ni inicializar, la creación del clúster falla. Los trabajadores que se crean continúan ejecutándose y generan cargos hasta que el usuario los borra. Si se puede crear la cantidad mínima de trabajadores especificada, se crea el clúster. Los trabajadores con errores (sin inicializarse) se borran y no generan cargos. Si no se puede crear ni inicializar la cantidad mínima de trabajadores especificada, no se crea el clúster. Para permitir la depuración, los trabajadores que se crean no se borran.
Se optimiza la hora de creación del clúster. Puede ocurrir el tiempo de creación del clúster más largo, ya que todos los nodos deben informar el estado de aprovisionamiento.
Los clústeres de nodo único están disponibles para su creación. Los clústeres de nodo único no están disponibles para su creación.

Ajuste de escala automático:

Usa el ajuste de escala automático con la creación parcial del clúster para garantizar que se cree la cantidad (completa) objetivo de trabajadores principales. El ajuste de escala automático intentará adquirir trabajadores con errores en segundo plano si la carga de trabajo los requiere.

La siguiente es una política de ajuste de escala automático de muestra que vuelve a intentarlo hasta que la cantidad total de instancias de trabajador principales alcanza un tamaño objetivo de 10. El minInstances y la maxInstances de la política coinciden con la cantidad mínima y total de trabajadores principales especificados en el momento de la creación del clúster (consulta Cómo crear un clúster parcial). Establecer scaleDownFactor en 0 evita que el clúster reduzca la escala de 10 a 8 y ayuda a mantener la cantidad de trabajadores en el límite máximo de 10 trabajadores.

workerConfig:
  minInstances: 8
  maxInstances: 10
basicAlgorithm:
  cooldownPeriod: 2m
  yarnConfig:
    scaleUpFactor: 1
    scaleDownFactor: 0
    gracefulDecommissionTimeout: 1h

Cómo crear un clúster parcial

Puedes usar Google Cloud CLI o la API de Dataproc para crear un clúster parcial de Dataproc.

gcloud

Para crear un clúster parcial de Dataproc en la línea de comandos, ejecuta el siguiente comando gcloud dataproc clusters create de manera local en una ventana de terminal o en Cloud Shell.

gcloud dataproc clusters create CLUSTER_NAME \
    --project=PROJECT \
    --region=REGION \
    --num-workers=NUM_WORKERS \
    --min-num-workers=MIN_NUM_WORKERS \
    other args ...
  • CLUSTER_NAME: El nombre del clúster debe comenzar con una letra minúscula seguida por un máximo de 51 letras minúsculas, números y guiones, y no puede terminar con un guion.
  • PROJECT: Especifica el proyecto asociado con el clúster de trabajos.
  • REGION: Especifica la región de Compute Engine en la que se ubicará el clúster de trabajos.
  • NUM_WORKERS: La cantidad total de trabajadores principales en el clúster que se crearán si están disponibles.
  • MIN_NUM_WORKERS: La cantidad mínima de trabajadores principales que se crearán si no se puede crear la cantidad total especificada de trabajadores (NUM_WORKERS). La creación del clúster falla si no se puede crear esta cantidad mínima de trabajadores principales (los trabajadores que se crean no se borran para permitir la depuración). Si se omite esta marca, se intentará crear un clúster estándar con la cantidad total de trabajadores principales (NUM_WORKERS).

REST

Para crear un clúster parcial de Dataproc, especifica la cantidad mínima de trabajadores principales en el campo workerConfig.minNumInstances como parte de una solicitud clusters.create.

Muestra la cantidad de trabajadores aprovisionados

Después de crear un clúster, puedes ejecutar el siguiente comando de gcloud CLI para mostrar la cantidad de trabajadores, incluidos los secundarios, aprovisionados en tu clúster.

gcloud dataproc clusters list \
    --project=PROJECT \
    --region=REGION \
    --filter=clusterName=CLUSTER_NAME