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. Especifique o Dataproc nos pools de nós e os papéis associados do GKE ao criar um cluster do Dataproc no GKE.
Definir escalonamento automático do pool de nós
Defina os limites para o escalonamento automático do pool de nós do Dataproc no GKE ao criar um cluster virtual do Dataproc no GKE. Se não for especificado, o Dataproc em pools de nós do GKE será escalonado automaticamente com os valores padrão. Na versão GA do Dataproc, o padrão é definido como mínimo = 1 e máximo = 10, que estão sujeitos a alterações. Para receber valores específicos mínimos e máximos de escalonamento automático do pool de nós, defina-os ao criar o cluster virtual do Dataproc no GKE.
Atualizar o escalonamento automático do pool de nós
Use o comando gcloud container node-pools update
do GKE a seguir 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 de driver é programado para execução no pool de nós associado ao papel 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 começarão a ser executados imediatamente. Se não houver capacidade suficiente, o escalonador automático de cluster do GKE escalona verticalmente 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 excesso de capacidade, o escalonador automático de cluster do GKE reduz o pool de nós para o limite especificado pelo usuário.