Este documento descreve como criar um cluster de escalonamento automático para zero do Serviço Gerenciado para Apache Spark.
Os clusters de escalonamento automático para zero do Serviço Gerenciado para Apache Spark oferecem uma maneira econômica de usar clusters do Serviço Gerenciado para Apache Spark. Ao contrário dos clusters padrão do Serviço Gerenciado para Apache Spark, que exigem pelo menos dois workers principais, os clusters de escalonamento automático para zero do Serviço Gerenciado para Apache Spark usam apenas workers secundários, que podem ser reduzidos a zero.
Os clusters de escalonamento zero do Serviço Gerenciado para Apache Spark 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 melhoram a utilização de recursos com o uso de políticas de escalonamento automático de escala zero.
Características e limitações
Um cluster de escalonamento zero do Serviço Gerenciado para Apache Spark é semelhante a um cluster padrão, mas tem as seguintes características e limitações exclusivas:
- Requer a versão
2.2.53ou 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 de cluster
core:fs.defaultFScomo 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 de cluster
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 workers secundários 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 de escalonamento automático para zero do Serviço Gerenciado para Apache Spark
Crie um cluster de escalonamento 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 de escalonamento para zero do Serviço Gerenciado para Apache Spark.
- 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 da API REST do Serviço Gerenciado para Apache Spark cluster.create:
- Defina
ClusterConfig.ClusterTypeparasecondaryWorkerConfigcomoZERO_SCALE. - Defina
AutoscalingConfig.policyUricom o ID da política de escalonamento automáticoZERO_SCALE. - Adicione
core:fs.defaultFS:gs://BUCKET_NAMESoftwareConfig.property. Substitua BUCKET_NAME pelo nome do seu bucket do Cloud Storage.
A seguir
- Saiba mais sobre o escalonamento automático do Serviço Gerenciado para Apache Spark.