Teilcluster erstellen

Um die Auswirkungen der Nichtverfügbarkeit von benutzerdefinierten VMs in bestimmten Regionen zu bestimmten Zeiten (Bestände) Mit Dataproc können Sie das Erstellen einer partial cluster anfordern, indem Sie Folgendes angeben: Eine Mindestanzahl primärer Worker, die für die Clustererstellung akzeptabel ist.

Standard-Cluster Teilcluster
Wenn mindestens ein primärer Worker nicht erstellt und initialisiert werden kann, schlägt die Clustererstellung fehl. Erstellte Worker werden weiterhin ausgeführt und fallen Kosten an, bis sie vom Nutzer gelöscht werden. Wenn die angegebene Mindestanzahl von Workern erstellt werden kann, wird der Cluster erstellt. Nicht initialisierte Worker werden gelöscht und fallen keine Kosten an. Wenn die angegebene Mindestanzahl von Workern nicht erstellt und initialisiert wurde, wird der Cluster nicht erstellt. Mitarbeitende, die werden nicht gelöscht, um eine Fehlerbehebung zu ermöglichen.
Die Erstellungszeit des Clusters ist optimiert. Die Clustererstellung kann länger dauern, da alle Knoten die Bereitstellung melden müssen Status.
Cluster mit einzelnem Knoten zum Erstellen verfügbar sind. Cluster mit einzelnem Knoten können nicht erstellt werden.

Autoscaling:

Verwenden Sie die Autoskalierung in Verbindung mit der teilweisen Clustererstellung, um sicherzustellen, dass die Zielanzahl (volle Anzahl) primärer Worker erstellt wird. Autoscaling versucht, fehlgeschlagene Worker zu erhalten im Hintergrund ausgeführt werden, wenn die Arbeitslast sie erfordert.

Im Folgenden finden Sie ein Beispiel für eine Autoscaling-Richtlinie, die so lange Wiederholungsversuche durchführt, bis die Gesamtzahl der primären Worker-Instanzen eine Zielgröße von 10 erreicht. minInstances und maxInstances der Richtlinie stimmen mit der Mindest- und Gesamtzahl der primären Worker überein, die beim Erstellen des Clusters angegeben wurde (siehe Teilcluster erstellen). Wenn Sie scaleDownFactor auf 0 festlegen, kann der Cluster nicht herunterskaliert werden von 10 auf 8 und trägt dazu bei, die maximale Anzahl von 10 Workern Limit.

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

Teilcluster erstellen

Sie können einen Dataproc-Teilcluster mit der Google Cloud CLI oder der Dataproc API erstellen.

gcloud

Führen Sie zum Erstellen eines Dataproc-Teilclusters 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 ...
  • 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 Projekt an, das mit dem Jobcluster verknüpft ist.
  • 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 zu erstellen, falls verfügbar.
  • MIN_NUM_WORKERS: Die Mindestanzahl der primären Worker, die erstellt werden sollen Die angegebene Gesamtzahl von Workern (NUM_WORKERS) kann nicht erstellt werden. Das Erstellen des Clusters schlägt fehl, wenn diese Mindestanzahl an primären Workern nicht erstellt werden kann. Bereits erstellte Worker werden nicht gelöscht, um das Debuggen zu ermöglichen. Wird dieses Flag weggelassen, wird versucht, einen Standardcluster mit der Gesamtzahl der primären Worker (NUM_WORKERS) zu erstellen.

REST

Wenn Sie einen Dataproc-Teilcluster erstellen möchten, geben Sie die Mindestanzahl der primären Worker im Feld workerConfig.minNumInstances als Teil einer clusters.create-Anfrage an.

Anzahl der bereitgestellten Worker anzeigen

Nachdem Sie einen Cluster erstellt haben, können Sie mit dem folgenden gcloud-Befehl die Anzahl der in Ihrem Cluster bereitgestellten Worker auflisten, einschließlich sekundärer Worker.

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