Criar um cluster do Managed Service for Apache Spark com escalonamento automático para zero

Este documento descreve como criar um cluster de escala zero do Serviço Gerenciado para Apache Spark.

Os clusters de escala 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 escala zero do Serviço Gerenciado para Apache Spark usam apenas workers secundários que podem ser reduzidos a zero.

Os clusters de escala 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 Jupyter. Eles oferecem melhor utilização de recursos com o uso de políticas de escalonamento automático de escala zero.

Requisitos e limitações

Um cluster de escala zero do Serviço Gerenciado para Apache Spark tem os seguintes requisitos e limitações:

  • Requer a versão de imagem 2.2.61 ou mais recente.
  • Requer o uso do Cloud Storage, não do sistema de arquivos HDFS.
  • Oferece suporte apenas a workers secundários, não principais.
  • Não pode ser convertido em um cluster padrão ou dele.
  • Não oferece suporte ao componente Oozie.

Criar um cluster de escala zero do Serviço Gerenciado para Apache Spark

É possível criar um cluster de escala zero usando a CLI gcloud ou a API Serviço Gerenciado para Apache Spark.

gcloud

Execute o gcloud dataproc clusters create comando 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 \
    ...other args

Substitua:

  • CLUSTER_NAME: nome do cluster de escala zero do Serviço Gerenciado para Apache Spark.
  • REGION: uma região disponível do Compute Engine.
  • AUTOSCALING_POLICY (opcional): se você criar uma política de escalonamento automático para aplicar ao cluster de escala zero, use essa flag para especificar o ID ou o URI do recurso da política de escalonamento automático. Ao criar a política:
    • Defina clusterType como ZERO_SCALE.
    • Configure uma política de escalonamento automático apenas para secondaryWorkerConfig.
  • Sistema de arquivos do Cloud Storage: é necessário definir core:fs.defaultFS como um bucket do Cloud Storage para definir o sistema de arquivos do cluster de escala zero como o Cloud Storage em vez do HDFS padrão.
    • BUCKET_NAME: nome de um bucket do Cloud Storage. O nome do bucket precisa ser exclusivo para cada cluster de escala zero.

REST

  • Tipo de cluster: defina ClusterConfig.ClusterType como ZERO_SCALE.
  • Política de escalonamento automático (opcional): se você criar uma política de escalonamento automático para aplicar ao cluster de escala zero, defina AutoscalingConfig.policyUri com o ID da política de escalonamento automático ZERO_SCALE. Ao criar a política:
    • Defina clusterType como ZERO_SCALE.
    • Configure uma política de escalonamento automático apenas para secondaryWorkerConfig.
  • Sistema de arquivos do Cloud Storage: é necessário definir core:fs.defaultFS como um bucket do Cloud Storage para definir o sistema de arquivos do cluster de escala zero como o Cloud Storage em vez do HDFS padrão.
    • Adicione o core:fs.defaultFS:gs://BUCKET_NAME SoftwareConfig.property. Substitua BUCKET_NAME pelo nome do seu bucket do Cloud Storage. Especifique um nome de bucket exclusivo para cada cluster de escala zero

A seguir