Teilcluster für Managed Service for Apache Spark erstellen

Um die Auswirkungen der Nichtverfügbarkeit von vom Nutzer angegebenen VMs in bestimmten Regionen zu bestimmten Zeiten (Ausverkauf) zu minimieren, können Sie mit dem verwalteten Dienst für Apache Spark die Erstellung eines partial cluster anfordern, indem Sie eine Mindestanzahl primärer Worker angeben, die für die Clustererstellung akzeptabel ist.

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 weiterhin ausgeführt und verursachen Kosten, bis sie vom Nutzer gelöscht werden. Wenn die angegebene Mindestanzahl von Workern erstellt werden kann, der Cluster erstellt. Fehlerhafte (nicht initialisierte) Worker werden gelöscht und verursachen keine Kosten. Wenn die angegebene Mindestanzahl von Workern nicht erstellt und initialisiert werden kann, wird der Cluster nicht erstellt. Erstellte Worker werden nicht gelöscht, um die Fehlerbehebung zu ermöglichen.
Die Clustererstellungszeit ist optimiert. Die Clustererstellung kann länger dauern, da alle Knoten den Bereitstellungsstatus melden müssen.
Cluster mit einem Knoten können erstellt werden. Cluster mit einem Knoten können nicht erstellt werden.

Autoscaling

Verwenden Sie Autoscaling mit der Erstellung von Teilclustern, um sicherzustellen, dass die Zielanzahl (vollständige Anzahl) der primären Worker erstellt wird. Autoscaling versucht, fehlgeschlagene Worker im Hintergrund zu erwerben, wenn sie für die Arbeitslast erforderlich sind.

Im Folgenden finden Sie ein Beispiel für eine Autoscaling-Richtlinie, die so lange wiederholt wird, bis die Gesamtzahl der primären Worker-Instanzen eine Zielgröße von 10 erreicht. Die minInstances und maxInstances der Richtlinie entsprechen der Mindest- und Gesamtzahl der primären Worker, die bei der Clustererstellung angegeben wurden (siehe Teilcluster erstellen). Wenn Sie scaleDownFactor auf 0 setzen, wird verhindert, dass der Cluster von 10 auf 8 herunterskaliert wird. So bleibt die Anzahl der Worker auf dem Maximum von 10 Worker.

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 für den verwalteten Dienst für Apache Spark zu erstellen.

gcloud

Führen Sie zum Erstellen eines Teilclusters für den verwalteten Dienst für Apache Spark in der Befehlszeile 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 ...

Ersetzen Sie Folgendes:

  • CLUSTER_NAME: Der Clustername muss mit einem Kleinbuchstaben beginnen , gefolgt von bis zu 51 Kleinbuchstaben, Ziffern und Bindestrichen. Er darf nicht mit einem Bindestrich enden.
  • PROJECT: Geben Sie das Projekt an, das mit dem Jobcluster verknüpft ist.
  • REGION: Geben Sie die Compute Engine-Region an, in der sich der Jobcluster befindet.
  • NUM_WORKERS: Die Gesamtzahl der primären Worker im Cluster, die erstellt werden sollen, falls verfügbar.
  • MIN_NUM_WORKERS: Die Mindestanzahl der primären Worker, die erstellt werden sollen wenn die angegebene Gesamtzahl der Worker (NUM_WORKERS) nicht erstellt werden kann. Die Clustererstellung schlägt fehl, wenn diese Mindestanzahl primärer Worker nicht erstellt werden kann. Erstellte Worker werden nicht gelöscht, um die Fehlerbehebung zu ermöglichen. Wenn Sie dieses Flag weglassen, wird versucht, einen Standard-Cluster mit der Gesamtzahl der primären Worker (NUM_WORKERS) zu erstellen.

REST

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

Anzahl der bereitgestellten Worker anzeigen

Nachdem Sie einen Cluster erstellt haben, können Sie den folgenden gcloud CLI-Befehl ausführen, um die Anzahl der Worker, einschließlich aller sekundären Worker, aufzulisten, die in Ihrem Cluster bereitgestellt wurden.

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