Teilcluster erstellen

Um die Auswirkungen der Nichtverfügbarkeit benutzerdefinierter VMs in bestimmten Regionen zu bestimmten Zeiten (Stockouts) abzumildern, können Sie in Dataproc das Erstellen einer partial cluster anfordern. Dazu geben Sie eine Mindestanzahl primärer Worker an, die das Erstellen von Clustern zulassen darf.

Standard-Cluster Teilcluster
Wenn ein oder mehrere primäre Worker nicht erstellt und initialisiert werden können, schlägt die Clustererstellung fehl. Erstellte Worker werden weiter ausgeführt und verursachen Kosten, bis sie vom Nutzer gelöscht werden. Wenn die angegebene Mindestanzahl von Workern erstellt werden kann, wird der Cluster erstellt. Fehlgeschlagene (nicht initialisierte) Worker werden gelöscht und verursachen keine Gebühren. Wenn die angegebene Mindestanzahl von Workern nicht erstellt und initialisiert werden kann, wird der Cluster nicht erstellt. Erstellte Worker werden nicht gelöscht, um eine Fehlerbehebung zu ermöglichen.
Die Clustererstellungszeit wird optimiert. Clustererstellung kann länger dauern, da alle Knoten den Bereitstellungsstatus melden müssen.
Es können Cluster mit einzelnem Knoten erstellt werden. Cluster mit einzelnem Knoten können nicht erstellt werden.

Autoscaling:

Verwenden Sie Autoscaling mit einer teilweisen Clustererstellung, um dafür zu sorgen, dass die vollständige Zielanzahl der primären Worker erstellt wird. Beim Autoscaling wird versucht, im Hintergrund fehlerhafte Worker abzurufen, wenn dies aufgrund der Arbeitslast erforderlich ist.

Im Folgenden finden Sie ein Beispiel für eine Autoscaling-Richtlinie, die wiederholt wird, bis die Gesamtzahl der primären Worker-Instanzen eine Zielgröße von 10 erreicht hat. Die minInstances und maxInstances der Richtlinie entsprechen der Mindest- und Gesamtzahl der primären Worker, die beim Erstellen des Clusters angegeben wurden (siehe Teilcluster erstellen). Wenn Sie scaleDownFactor auf 0 setzen, kann der Cluster nicht von 10 auf 8 herunterskaliert werden. Außerdem wird die Anzahl der Worker auf dem Maximum von 10 Workern gehalten.

workerConfig:
  minInstances: 8
  maxInstances: 10
basicAlgorithm:
  cooldownPeriod: 2m
  yarnConfig:
    scaleUpFactor: 1
    scaleDownFactor: 0
    gracefulDecommissionTimeout: 1h

Teilcluster erstellen

Sie können die Google Cloud CLI oder die Dataproc API verwenden, um einen Teilcluster von Dataproc zu erstellen.

gcloud

Zum Erstellen eines Teilclusters von Dataproc in der Befehlszeile führen Sie den folgenden gcloud dataproc clusters create-Befehl lokal in einem Terminalfenster oder in Cloud Shell aus.

gcloud dataproc clusters create CLUSTER_NAME \
    --project=PROJECT \
    --region=REGION \
    --num-workers=NUM_WORKERS \
    --min-num-workers=MIN_NUM_WORKERS \
    other args ...
  • CLUSTER_NAME: Der Clustername muss mit einem Kleinbuchstaben beginnen, gefolgt von bis zu 51 Kleinbuchstaben, Ziffern und Bindestrichen. Das letzte Zeichen darf kein Bindestrich sein.
  • PROJECT: Geben Sie das mit dem Jobcluster verknüpfte Projekt an.
  • REGION: Geben Sie die Compute Engine-Region an, in der sich der Jobcluster befinden soll.
  • NUM_WORKERS: Die Gesamtzahl der primären Worker im Cluster, die erstellt werden sollen, falls verfügbar.
  • MIN_NUM_WORKERS: Die Mindestanzahl primärer Worker, die erstellt werden sollen, wenn die angegebene Gesamtzahl von Workern (NUM_WORKERS) nicht erstellt werden kann. Die Clustererstellung schlägt fehl, wenn diese Mindestanzahl von primären Workern nicht erstellt werden kann (erstellte Worker werden nicht gelöscht, um eine Fehlerbehebung zu ermöglichen). Wenn dieses Flag nicht angegeben ist, wird versucht, einen Standardcluster mit der Gesamtzahl der primären Worker (NUM_WORKERS) zu erstellen.

REST

Geben Sie zum Erstellen eines Teilclusters von Dataproc die Mindestanzahl der primären Worker im Feld workerConfig.minNumInstances im Rahmen einer clusters.create-Anfrage an.

Anzahl der bereitgestellten Worker anzeigen

Nach dem Erstellen eines Clusters können Sie den folgenden gcloud CLI-Befehl ausführen, um die Anzahl der in Ihrem Cluster bereitgestellten Worker, einschließlich aller sekundären Worker, aufzulisten.

gcloud dataproc clusters list \
    --project=PROJECT \
    --region=REGION \
    --filter=clusterName=CLUSTER_NAME