Para mitigar los efectos de la falta de disponibilidad de VMs especificadas por el usuario en
regiones en horas específicas
(agotados),
Dataproc te permite solicitar la creación de un partial cluster
especificando
una cantidad mínima de trabajadores principales 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 especificada de trabajadores, se crea el clúster. Los trabajadores con errores (sin inicializar) 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. |
El tiempo de creación del clúster se optimiza. | Puede haber más tiempo de creación del clúster, ya que todos los nodos deben informar el aprovisionamiento estado. |
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 ayudar a garantizar que el número de destino (completo) de los trabajadores primarios. 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 intentar hasta alcanzar la cantidad total
de las 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).
Establecer scaleDownFactor
en 0 evita que el clúster reduzca su escala verticalmente
de 10 a 8, y ayudará a mantener la cantidad máxima de trabajadores
límite.
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. seguidas de 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 en el 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 principales (los trabajadores que se crean no se borran para permitir la depuración). Si se omite esta marca, la creación del clúster estándar con la cantidad total de Se intentan más trabajadores principales (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 la siguiente gcloud CLI para mostrar la cantidad de trabajadores, incluidos los trabajadores secundarios, aprovisionados en tu clúster.
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME