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.