Cómo usar selectores de clúster con flujos de trabajo

Como alternativa a la ejecución de un flujo de trabajo en un clúster administrado, puedes usar un selector de clúster con el fin de elegir un clúster existente para tu flujo de trabajo. Cuando finalice el flujo de trabajo, el clúster seleccionado no se borra.

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

Cómo agregar un selector de clúster a una plantilla

Puedes agregar un selector de clúster a una plantilla de flujo de trabajo con la herramienta de línea de comandos de gcloud o la API de Dataproc.

Comando de gcloud

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

API de REST

Consulta WorkflowTemplatePlacement.ClusterSelector. Este campo se proporciona como parte de una WorkflowTemplate completada enviada con una solicitud workflowTemplates.create o workflowTemplates.update.

Console

Puedes ver las plantillas de flujo de trabajo existentes y los flujos de trabajo en los que se crearon instancias desde la página Flujos de trabajo de Dataproc en Cloud Console.

Cómo usar etiquetas aplicadas automáticamente

Puedes apuntar un selector de clúster a un clúster existente si usas 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 \
    --cluster-labels goog-dataproc-cluster-name=my-cluster

Cómo seleccionar de un grupo de clústeres

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

Ejemplo:

gcloud dataproc clusters create cluster-1 --labels cluster-pool=pool-1
gcloud dataproc clusters create cluster-2 --labels cluster-pool=pool-1
gcloud dataproc clusters create cluster-3 --labels cluster-pool=pool-2

Después de la creación del clúster…

gcloud dataproc workflow-templates create my-template
gcloud dataproc workflow-templates set-cluster-selector my-template \
  --cluster-labels cluster-pool=pool-1

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