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 Managed Service para Apache Spark. 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 muchos clústeres coinciden con el selector, Managed Service para Apache Spark elegirá el clúster con la mayor cantidad de memoria YARN libre.
Agrega un selector de clúster a una plantilla
Puedes agregar un selector de clúster a una plantilla de flujo de trabajo con la Google Cloud CLI o la API de Dataproc.
Comando de gcloud
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=name=value[[,name=value]...]
API de REST
Consulta WorkflowTemplatePlacement.ClusterSelector. Este campo se proporciona como parte de una WorkflowTemplate completa, 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 Managed Service para Apache Spark en la Google Cloud consola.
Usa 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-namegoog-dataproc-cluster-uuid
Ejemplo:
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=goog-dataproc-cluster-name=my-cluster
Selecciona de un grupo de clústeres
Puedes permitir que Managed Service para Apache Spark 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 \ --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 la creación del 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
Se ejecutará el flujo de trabajo en el cluster-1 o cluster-2, pero no en el cluster-3.