É possível usar um seletor de cluster para escolher um cluster existente para o fluxo de trabalho como alternativa à execução de um fluxo de trabalho em um cluster gerenciado. Ao final do fluxo de trabalho, o cluster selecionado não é excluído.
Os seletores especificam um ou mais rótulos de usuário do Dataproc. Os clusters na mesma região do fluxo de trabalho em que os rótulos correspondem a todos os rótulos seletores estão qualificados para executar jobs de fluxo de trabalho. Se vários clusters corresponderem ao seletor, o Dataproc escolherá o cluster com a memória YARN que tiver mais espaço livre.
Como adicionar um seletor de cluster a um modelo
É possível adicionar um seletor de cluster a um modelo de fluxo de trabalho usando a Google Cloud CLI ou a API Dataproc.
Comando gcloud
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=name=value[[,name=value]...]
API REST
Consulte WorkflowTemplatePlacement.ClusterSelector. Esse campo é fornecido como parte de um WorkflowTemplate preenchido e enviado com uma solicitação workflowTemplates.create ou workflowTemplates.update.Console
É possível visualizar modelos de fluxo de trabalho atuais e fluxos de trabalho instanciados na página Fluxos de trabalho do Dataproc no console do Google Cloud.
Como usar rótulos aplicados automaticamente
É possível apontar um seletor de cluster para um cluster existente usando um dos seguintes rótulos de cluster aplicados automaticamente:
goog-dataproc-cluster-name
goog-dataproc-cluster-uuid
Exemplo:
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=goog-dataproc-cluster-name=my-cluster
Como selecionar a partir de um pool de clusters
É possível permitir que o Dataproc escolha um cluster a partir de um pool de clusters. Os pools de clusters podem ser definidos com rótulos.
Exemplo:
gcloud dataproc clusters create cluster-1 --labels cluster-pool=pool-1 \ --region=region gcloud dataproc clusters create cluster-2 --labels cluster-pool=pool-1 \ --region=region gcloud dataproc clusters create cluster-3 --labels cluster-pool=pool-2 \ --region=region
Após a criação do cluster...
gcloud dataproc workflow-templates create my-template \ --region=region gcloud dataproc workflow-templates set-cluster-selector my-template \ --region=region \ --cluster-labels=cluster-pool=pool-1
O fluxo de trabalho poderá ser executado no cluster-1 ou no cluster-2, mas não no cluster-3.