Criar um cluster de escala zero do Dataproc

Neste documento, descrevemos como criar um cluster do Dataproc com escalonamento automático para zero.

Os clusters de escalonamento automático para zero do Dataproc oferecem uma maneira econômica de usar clusters do Dataproc. Ao contrário dos clusters padrão do Dataproc, que exigem pelo menos dois workers principais, os clusters do Dataproc com escalonamento para zero usam apenas workers secundários que podem ser reduzidos para zero.

Os clusters de escalonamento automático para zero do Dataproc são ideais para uso como clusters de longa duração que passam por períodos de inatividade, como um cluster que hospeda um notebook Jupiter. Elas oferecem melhor utilização de recursos com o uso de políticas de escalonamento automático de escala zero.

Características e limitações

Um cluster do Dataproc com escalonamento automático para zero tem semelhanças com um cluster padrão, mas tem as seguintes características e limitações exclusivas:

  • Requer a versão 2.2.53 ou mais recente da imagem.
  • Compatível apenas com workers secundários, não com workers principais.
  • Inclui serviços como o YARN, mas não é compatível com o sistema de arquivos HDFS.

    • Para usar o Cloud Storage como o sistema de arquivos padrão, defina a propriedade do cluster core:fs.defaultFS como um local de bucket do Cloud Storage (gs://BUCKET_NAME).
    • Se você desativar um componente durante a criação do cluster, também desative o HDFS.
  • Não pode ser convertido de ou para um cluster padrão.

  • Requer uma política de escalonamento automático para tipos de cluster ZERO_SCALE.

  • Exige a seleção de VMs flexíveis como tipo de máquina.

  • Não é compatível com o componente Oozie.

  • Não podem ser criados no console do Google Cloud .

Opcional: configure uma política de escalonamento automático

É possível configurar uma política de escalonamento automático para definir o escalonamento de trabalho secundário em um cluster de escalonamento zero. Ao fazer isso, observe o seguinte:

  • Defina o tipo de cluster como ZERO_SCALE.
  • Configure uma política de escalonamento automático apenas para a configuração do worker secundário.

Para mais informações, consulte Criar uma política de escalonamento automático.

Criar um cluster do Dataproc com escalonamento automático para zero

Crie um cluster de escalonamento automático para zero usando a CLI gcloud ou a API Dataproc.

gcloud

Execute o comando gcloud dataproc clusters create localmente em uma janela de terminal ou no Cloud Shell.

gcloud dataproc clusters create CLUSTER_NAME \
    --region=REGION \
    --cluster-type=zero-scale \
    --autoscaling-policy=AUTOSCALING_POLICY \
    --properties=core:fs.defaultFS=gs://BUCKET_NAME \
    --secondary-worker-machine-types="type=MACHINE_TYPE1[,type=MACHINE_TYPE2...][,rank=RANK]"
    ...other args

Substitua:

  • CLUSTER_NAME: nome do cluster do Dataproc de escalonamento para zero.
  • REGION: uma região disponível do Compute Engine.
  • AUTOSCALING_POLICY: o ID ou URI do recurso da política de escalonamento automático.
  • BUCKET_NAME: nome do bucket do Cloud Storage.
  • MACHINE_TYPE: tipo de máquina específico do Compute Engine, como n1-standard-4, e2-standard-8.
  • RANK: define a prioridade de uma lista de tipos de máquina.

REST

Crie um cluster de escalonamento automático para zero usando uma solicitação cluster.create da API REST do Dataproc:

A seguir