Use seletores de clusters com fluxos de trabalho

Em alternativa à execução de um fluxo de trabalho num cluster gerido, pode usar um seletor de cluster para escolher um cluster existente para o seu fluxo de trabalho. No final do fluxo de trabalho, o cluster selecionado não é eliminado.

Os seletores especificam uma ou mais etiquetas de utilizador do Dataproc. Os clusters na mesma região que o fluxo de trabalho cujas etiquetas correspondem a todas as etiquetas do seletor são elegíveis para executar tarefas do fluxo de trabalho. Se vários clusters corresponderem ao seletor, o Dataproc escolhe o cluster com a memória YARN mais livre.

Adicione um seletor de clusters a um modelo

Pode adicionar um seletor de clusters a um modelo de fluxo de trabalho através da Google Cloud CLI ou da 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. Este campo é fornecido como parte de um WorkflowTemplate concluído enviado com um pedido workflowTemplates.create ou workflowTemplates.update.

Consola

Pode ver os modelos de fluxo de trabalho existentes e os fluxos de trabalho instanciados na página Fluxos de trabalho do Dataproc na Google Cloud consola.

Use etiquetas aplicadas automaticamente

Pode direcionar um seletor de clusters para um cluster existente através de uma das seguintes etiquetas de cluster aplicadas 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

Selecione a partir de um grupo de clusters

Pode permitir que o Dataproc escolha um cluster a partir de um conjunto de clusters. Os conjuntos de clusters podem ser definidos com etiquetas.

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 é executado no cluster-1 ou no cluster-2, mas não no cluster-3.