Clusterauswahl mit Workflows verwenden

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 Dataproc-Nutzerlabels 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 Dataproc den Cluster mit dem meisten freien YARN-Speicher aus.

Clusterselektor zu einer Vorlage hinzufügen

Sie können einer Workflow-Vorlage mithilfe der Google Cloud CLI oder der Dataproc API einen Clusterselektor 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 Workflow-Vorlagen und instanziierte Workflows auf der Dataproc-Seite Workflows 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-name
  • goog-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 haben die Möglichkeit festzulegen, dass Dataproc einen Cluster aus einem Pool von Clustern auswählt. 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.