Statt einen Workflow in einem verwalteten Cluster auszuführen, können Sie einen Clusterselektor verwenden, der einen vorhandenen Cluster für Ihren Workflow auswählt. Dieser Cluster wird nach Abschließen des Workflows nicht gelöscht.
Selektoren geben ein oder mehrere Nutzerlabels für Managed Service for Apache Spark an. Cluster, die sich in derselben Region wie der Workflow befinden und deren Labels mit allen Selektorlabels übereinstimmen, können Workflow-Jobs ausführen. Wenn mehrere Cluster mit dem Selektor übereinstimmen, wählt Managed Service for Apache Spark den Cluster mit dem meisten verfügbaren YARN-Arbeitsspeicher aus.
Cluster-Auswahl zu einer Vorlage hinzufügen
Sie können einer Workflowvorlage mithilfe der Google Cloud CLI oder der Dataproc API eine Clusterauswahl hinzufügen.
gcloud-Befehl
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=name=value[[,name=value]...]
REST API
Weitere Informationen finden Sie unter WorkflowTemplatePlacement.ClusterSelector. Dieses Feld wird als Bestandteil einer abgeschlossenen WorkflowTemplate bereitgestellt, die mit einer workflowTemplates.create- oder workflowTemplates.update-Anfrage gesendet wird.Console
Sie können vorhandene Workflowvorlagen und instanziierte Workflows auf der Seite Workflows von Managed Service for Apache Spark in der Google Cloud Console aufrufen.
Automatisch angewendete Labels verwenden
Mithilfe eines der folgenden automatisch angewendeten Clusterlabels können Sie einen Clusterselektor auf einen vorhandenen Cluster verweisen:
goog-dataproc-cluster-namegoog-dataproc-cluster-uuid
Beispiel:
gcloud dataproc workflow-templates set-cluster-selector template-id \ --region=region \ --cluster-labels=goog-dataproc-cluster-name=my-cluster
Aus einem Clusterpool auswählen
Sie können Managed Service for Apache Spark einen Cluster aus einem Clusterpool auswählen lassen. Die Clusterpools können mit Labels definiert werden.
Beispiel:
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
Nach der Clustererstellung...
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
…wird der Workflow entweder auf Cluster-1 oder Cluster-2 ausgeführt, nicht jedoch auf Cluster-3.