Usar selectores de clústeres con flujos de trabajo

Como alternativa a la ejecución de un flujo de trabajo en un clúster gestionado, puedes usar un selector de clústeres para elegir un clúster que ya tengas. Al finalizar el flujo de trabajo, el clúster seleccionado no se elimina.

Los selectores especifican una o varias etiquetas de usuario de Dataproc. Los clústeres de la misma región que el flujo de trabajo cuyas etiquetas coincidan con todas las etiquetas del selector podrán ejecutar tareas del flujo de trabajo. Si varios clústeres coinciden con el selector, Dataproc elegirá el clúster con más memoria YARN libre.

Añadir un selector de clústeres a una plantilla

Puedes añadir un selector de clústeres a una plantilla de flujo de trabajo mediante la CLI de Google Cloud o la API de Dataproc.

Comando gcloud

gcloud dataproc workflow-templates set-cluster-selector template-id \
    --region=region \
    --cluster-labels=name=value[[,name=value]...]

API REST

Consulta WorkflowTemplatePlacement.ClusterSelector. Este campo se proporciona como parte de un WorkflowTemplate completado que se envía con una solicitud workflowTemplates.create o workflowTemplates.update.

Consola

Puedes ver las plantillas de flujo de trabajo y los flujos de trabajo creados en la página Flujos de trabajo de Dataproc en la consola de Google Cloud .

Usar etiquetas aplicadas automáticamente

Puedes dirigir un selector de clúster a un clúster ya creado mediante una de las siguientes etiquetas de clúster aplicadas automáticamente:

  • goog-dataproc-cluster-name
  • goog-dataproc-cluster-uuid

Ejemplo:

gcloud dataproc workflow-templates set-cluster-selector template-id \
    --region=region \
    --cluster-labels=goog-dataproc-cluster-name=my-cluster

Seleccionar de un grupo de clústeres

Puedes dejar que Dataproc elija un clúster de un grupo de clústeres. Los clústeres se pueden definir con etiquetas.

Ejemplo:

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

Después de crear el clúster ...

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

El flujo de trabajo se ejecutará en cluster-1 o cluster-2, pero no en cluster-3.