Este documento descreve como criar um cluster de escala zero do Dataproc.
Os clusters de escala zero do Dataproc são 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 de escala zero do Dataproc usam apenas workers secundários que podem ser reduzidos a zero.
Os clusters de escala zero do Dataproc são ideais para uso como clusters de longa duração que apresentam períodos inativos, como um cluster que hospeda um notebook do Jupiter. Elas melhoram a utilização de recursos usando políticas de escalonamento automático de escala zero.
Características e limitações
Um cluster de escala zero do Dataproc tem semelhanças com um cluster padrão, mas apresenta as seguintes características e limitações exclusivas:
- Requer a versão
2.2.53
ou mais recente da imagem. - Suporta apenas workers secundários, não principais.
Inclui serviços como o YARN, mas não oferece suporte ao 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.
- Para usar o Cloud Storage como o sistema de arquivos padrão, defina a
propriedade do cluster
Não é possível converter para ou de um cluster padrão.
Requer uma política de escalonamento automático para tipos de cluster
ZERO_SCALE
.É necessário selecionar VMs flexíveis como tipo de máquina.
Não oferece suporte ao componente Oozie.
Não é possível criar no console do Google Cloud .
Opcional: configurar 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 para um cluster de escala 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 de escala zero do Dataproc
Crie um cluster de escala 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 de escala zero do Dataproc.
- REGION: uma região disponível do Compute Engine.
- AUTOSCALING_POLICY: o ID ou o URI do recurso da política de autoescalonamento.
- BUCKET_NAME: o 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 escala zero usando uma solicitação cluster.create da API REST do Dataproc:
- Defina
ClusterConfig.ClusterType
para osecondaryWorkerConfig
comoZERO_SCALE
. - Defina o
AutoscalingConfig.policyUri
com o ID da política de escalonamento automáticoZERO_SCALE
. - Adicione a
core:fs.defaultFS:gs://BUCKET_NAME
SoftwareConfig.property. Substitua BUCKET_NAME pelo nome do seu bucket do Cloud Storage.
A seguir
- Saiba mais sobre o escalonamento automático do Dataproc.