Para escalonar um cluster do Dataproc no GKE, atualize a configuração do escalonador automático dos pools de nós associados aos papéis de driver ou executor do Spark. Você especificar o Dataproc no GKE pools de nós e os papéis associados a eles quando você Criar um cluster do Dataproc no GKE.
Definir o escalonamento automático do pool de nós
É possível definir os limites para o escalonamento automático do pool de nós do Dataproc no GKE ao Crie um cluster virtual do Dataproc no GKE. Se não for especificado, os pools de nós do Dataproc no GKE serão dimensionados automaticamente com valores padrão. Na versão GA do Dataproc no GKE, os padrões são definidos como mínimo = 1 e máximo = 10, que estão sujeitos a alterações. Para receber valores mínimos e máximos específicos de escalonamento automático de pool de nós de nós, criar o Dataproc no cluster virtual do GKE.
Atualizar o escalonamento automático do pool de nós
Usar os seguintes objetos do GKE
gcloud container node-pools update
para alterar a configuração de escalonamento automático de um pool de nós do Dataproc no GKE.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=GKE_CLUSTER_NAME \ --region=region \ --enable-autoscaling \ --min-nodes=min nodes (must be <= max-nodes) \ --max-nodes=max nodes (must be >= min-nodes) \
Como funciona o escalonamento automático do Spark
- Quando um job é enviado, o pod do driver é programado para ser executado no pool de nós associado à função de driver do Spark.
- O pod do driver chama o programador do GKE para criar pods do executor.
- Os pods do executor são programados no pool de nós associado ao papel de executor do Spark.
- Se os pools de nós tiverem capacidade para os pods, eles vão começar a ser executados imediatamente. Se não houver capacidade suficiente, o escalonador automático de cluster do GKE vai aumentar o pool de nós para fornecer os recursos solicitados, até o limite especificado pelo usuário. Quando os pools de nós têm capacidade em excesso, o escalonador automático de cluster do GKE faz o escalonamento vertical do pool de nós para o limite especificado pelo usuário.