Criar um cluster parcial

Para atenuar os efeitos da indisponibilidade de VMs especificadas pelo usuário em regiões específicas em horários específicos (estoques), o Dataproc permite solicitar a criação de um partial cluster especificando um número mínimo de workers principais que é aceitável para permitir a criação de clusters.

Cluster padrão Cluster parcial
Se não for possível criar e inicializar um ou mais workers principais, a criação do cluster vai falhar. Os workers criados continuam em execução e incorrem em cobranças até serem excluídos pelo usuário. Se for possível criar o número mínimo de workers, o cluster será criado. Os workers com falha (não inicializados) são excluídos e não geram cobranças. Se não for possível criar e inicializar o número mínimo de workers especificado, 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 está otimizado. O tempo de criação do cluster pode ser mais longo, já que todos os nós precisam informar o status de provisionamento.
Os clusters de nó único estão disponíveis para criação. Os clusters de nó único não estão disponíveis para criação.

Escalonamento automático:

Use escalonamento automático com criação parcial de cluster para ajudar a garantir que o número de destino (completo) de workers principais seja criado. O escalonamento automático tentará adquirir workers com falha em segundo plano se a carga de trabalho exigir.

Veja a seguir um exemplo de política de escalonamento automático que tenta executar novamente até que o número total de instâncias de worker principais atinja um tamanho de destino de 10. Os 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 Como criar um cluster parcial. Definir o scaleDownFactor como 0 impede que o cluster reduza de 10 para 8 e ajudará 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

Use 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 ...
  • CLUSTER_NAME: o nome do cluster precisa começar com uma letra minúscula seguida de até 51 letras minúsculas, números e hifens, mas não pode terminar com um hífen.
  • PROJECT: especifica o projeto associado ao cluster de job.
  • REGION: especifique a região do Compute Engine em que o cluster de job estará localizado.
  • NUM_WORKERS: o número total de workers principais no cluster a serem criados, se disponíveis.
  • 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 falhará se esse número mínimo de workers principais não puder ser criado (os workers criados não serão excluídos para permitir a depuração). Se essa sinalização for omitida, será feita uma tentativa de criação do 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.

Exibir 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 no cluster, incluindo os secundários, provisionados no cluster.

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