Para reduzir os efeitos da indisponibilidade de VMs especificadas pelo usuário em regiões e horários específicos (falta de estoque), o Dataproc permite solicitar a criação de um partial cluster
especificando um número mínimo de workers principais aceitável para permitir a criação do cluster.
Cluster padrão | Cluster parcial |
---|---|
Se um ou mais workers principais não puderem ser criados e inicializados, a criação do cluster vai falhar. Os workers criados continuam sendo executados e gerando cobranças até serem excluídos pelo usuário. | Se o número mínimo especificado de workers puder ser criado, o cluster será criado. Os workers com falha (não inicializados) são excluídos e não geram cobranças. Se o número mínimo especificado de workers não puder ser criado e inicializado, o cluster não será criado. Os workers criados não são excluídos para permitir a depuração. |
O tempo de criação do cluster é otimizado. | O tempo de criação do cluster pode ser maior, já que todos os nós precisam informar o status de provisionamento. |
Clusters de nó único estão disponíveis para criação. | Clusters de nó único não estão disponíveis para criação. |
Escalonamento automático
Use o escalonamento automático com a criação parcial de clusters para garantir que o número desejado (total) de workers principais seja criado. O escalonamento automático tentará adquirir workers com falha em segundo plano se a carga de trabalho exigir.
Confira a seguir um exemplo de política de escalonamento automático que tenta novamente até que o número total
de instâncias de worker principal atinja um tamanho de destino de 10.
Os campos minInstances
e maxInstances
da política correspondem ao número mínimo e total de workers principais especificados no momento da criação do cluster. Consulte Criar um cluster parcial.
Definir scaleDownFactor
como 0 impede que o cluster seja reduzido de 10 para 8 e ajuda a manter o número de workers no limite máximo de 10.
workerConfig:
minInstances: 8
maxInstances: 10
basicAlgorithm:
cooldownPeriod: 2m
yarnConfig:
scaleUpFactor: 1
scaleDownFactor: 0
gracefulDecommissionTimeout: 1h
Criar um cluster parcial
É possível usar a Google Cloud CLI ou a API Dataproc para criar um cluster parcial do Dataproc.
gcloud
Para criar um cluster parcial do Dataproc na linha de comando, execute o
comando gcloud dataproc clusters create
a seguir localmente em uma janela de terminal ou no
Cloud Shell.
gcloud dataproc clusters create CLUSTER_NAME \ --project=PROJECT \ --region=REGION \ --num-workers=NUM_WORKERS \ --min-num-workers=MIN_NUM_WORKERS \ other args ...
Substitua:
- CLUSTER_NAME: o nome do cluster precisa começar com uma letra minúscula seguida por até 51 letras minúsculas, números e hifens, e não pode terminar com um hífen.
- PROJECT: especifique o projeto associado ao cluster de jobs.
- REGION: especifique a região do Compute Engine em que o cluster de jobs vai estar localizado.
- NUM_WORKERS: o número total de workers principais no cluster a ser criado, se disponível.
- MIN_NUM_WORKERS: o número mínimo de workers principais a serem criados
se o número total especificado de workers (
NUM_WORKERS
) não puder ser criado. A criação do cluster falha se esse número mínimo de workers principais não puder ser criado (os workers criados não são excluídos para permitir a depuração). Se essa flag for omitida, será tentada a criação de um cluster padrão com o número total de workers principais (NUM_WORKERS
).
REST
Para criar um cluster parcial do Dataproc, especifique o número mínimo de workers principais no campo
workerConfig.minNumInstances
como parte de uma solicitação clusters.create.
Mostrar o número de workers provisionados
Depois de criar um cluster, execute o seguinte comando da CLI gcloud para listar o número de workers, incluindo os secundários, provisionados no cluster.
gcloud dataproc clusters list \ --project=PROJECT \ --region=REGION \ --filter=clusterName=CLUSTER_NAME