Crea un clúster parcial

Para mitigar los efectos de la falta de disponibilidad de las VMs especificadas por el usuario en regiones específicas en momentos específicos (agotamiento de existencias), Dataproc te permite solicitar la creación de un partial cluster especificando una cantidad mínima de trabajadores principales que sea aceptable para permitir la creación de clústeres.

Clúster estándar Clúster parcial
Si no se pueden crear ni inicializar uno o más trabajadores primarios, la creación del clúster fallará. 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 que fallan (no inicializados) 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. Los trabajadores que se crean no se borran para permitir la depuración.
Se optimizó el tiempo de creación del clúster. Es posible que el tiempo de creación del clúster sea más largo, ya que todos los nodos deben informar el estado del 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 de clústeres parciales para garantizar que se cree la cantidad objetivo (completa) de trabajadores principales. El ajuste de escala automático intentará adquirir trabajadores que fallaron 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 principal alcanza un tamaño objetivo de 10. minInstances y 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). Si estableces scaleDownFactor en 0, se evita que el clúster se reduzca de 10 a 8 y se ayudará a mantener la cantidad de trabajadores en el límite máximo de 10.

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 forma 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 trabajo.
  • REGION: Especifica la región de Compute Engine en la que se ubicará el clúster de trabajo.
  • NUM_WORKERS: Es la cantidad total de trabajadores principales del clúster que se crearán si están disponibles.
  • MIN_NUM_WORKERS: Es la cantidad mínima de trabajadores principales que se crearán si no se puede crear la cantidad total de trabajadores especificada (NUM_WORKERS). La creación del clúster falla si no se puede crear esta cantidad mínima de trabajadores primarios (los trabajadores que se crean no se borran para permitir la depuración). Si se omite esta marca, se intenta crear un clúster estándar con la cantidad total de trabajadores primarios (NUM_WORKERS).

REST

Para crear un clúster parcial de Dataproc, especifica la cantidad mínima de trabajadores primarios 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 enumerar la cantidad de trabajadores, incluidos los secundarios, aprovisionados en tu clúster.

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