Criar um cluster parcial

Para reduzir os efeitos da indisponibilidade de VMs especificadas pelo usuário em regiões e horários específicos (stockouts), o Dataproc permite que você solicite a criação de um partial cluster especificando um número mínimo de workers primários aceitável para permitir a criação de clusters.

Cluster padrão Cluster parcial
Se um ou mais workers principais não puderem ser criados e inicializados, a criação do cluster falhará. Os workers criados continuam sendo executados e geram cobranças até serem excluídos pelo usuário. Se for possível criar o número mínimo especificado de workers, o cluster é criado. Workers com falha (não inicializados) são excluídos não gera 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 que são criados não são excluídos para permitir a depuração.
O tempo de criação de clusters foi otimizado. Pode ocorrer um tempo de criação do cluster mais longo porque todos os nós precisam relatar o provisionamento o status atual da conta.
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 cluster para garantir que o número de workers principais alvo (completo) 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 o tamanho desejado de 10. O minInstances e o maxInstances da política correspondem aos valores mínimo e total número de workers principais especificados no momento da criação do cluster (consulte Como 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 workers.

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

Como criar um cluster parcial

É possível usar a CLI do Google Cloud 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 seguindo gcloud dataproc clusters create localmente em uma janela de terminal ou 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: o nome do cluster precisa começar com uma letra minúscula seguido por até 51 letras minúsculas, números e hifens, e não pode terminar com um hífen.
  • PROJECT: especifica o projeto associado ao cluster de trabalho.
  • REGION: especifique a região do Compute Engine em que o cluster de jobs vai ficar.
  • NUM_WORKERS: o número total de workers principais no cluster a serem criar, se disponíveis.
  • MIN_NUM_WORKERS: o número mínimo de workers principais a serem criados se não for possível criar o número total especificado de workers (NUM_WORKERS). 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 sinalização for omitida, a criação de cluster padrão com o número total de de trabalho principal (NUM_WORKERS).

REST

Para criar um cluster parcial do Dataproc, especifique o número mínimo de workers primários no campo workerConfig.minNumInstances como parte de uma solicitação clusters.create.

Mostrar o número de workers provisionados

Depois de criar um cluster, é possível executar o comando gcloud CLI a seguir para listar o número de workers, incluindo workers secundários, provisionados no cluster.

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