Wenn Sie einen Dataproc on GKE-Cluster skalieren möchten, aktualisieren Sie die Autoscaler-Konfiguration der Knotenpools, die mit den Rollen „Spark-Treiber“ oder „Spark-Executor“ verknüpft sind. Sie geben Dataproc on GKE-Knotenpools und die zugehörigen Rollen an, wenn Sie einen Dataproc on GKE-Cluster erstellen.
Autoscaling für Knotenpools festlegen
Sie können die Grenzen für das Autoscaling von Dataproc on GKE-Knotenpools festlegen, wenn Sie einen virtuellen Dataproc on GKE-Cluster erstellen. Wenn nicht angegeben, wird für Dataproc on GKE-Knotenpools Autoscaling mit Standardwerten verwendet (bei der GA-Version von Dataproc on GKE sind die Standardwerte auf „minimum = 1“ und „maximum = 10“ festgelegt, die sich ändern können). Wenn Sie bestimmte Mindest- und Höchstwerte für das Autoscaling von Knotenpools festlegen möchten, geben Sie diese beim Erstellen Ihres virtuellen Dataproc on GKE-Clusters an.
Autoscaling für Knotenpools aktualisieren
Verwenden Sie den folgenden GKE-Befehl gcloud container node-pools update
, um die Autoscaling-Konfiguration eines Dataproc on GKE-Knotenpools zu ändern.
gcloud container node-pools update NODE_POOL_NAME \ --cluster=GKE_CLUSTER_NAME \ --region=region \ --enable-autoscaling \ --min-nodes=min nodes (must be <= max-nodes) \ --max-nodes=max nodes (must be >= min-nodes) \
So funktioniert das Spark-Autoscaling
- Wenn ein Job gesendet wird, wird der Treiber-Pod für die Ausführung im Knotenpool geplant, der der Spark-Treiberrolle zugeordnet ist.
- Der Treiber-Pod ruft den GKE-Scheduler auf, um Executor-Pods zu erstellen.
- Executor-Pods werden im Knotenpool geplant, der der Spark-Executor-Rolle zugeordnet ist.
- Wenn die Knotenpools Kapazität für die Pods haben, werden die Pods sofort ausgeführt. Wenn die Kapazität nicht ausreicht, skaliert der GKE-Cluster Autoscaler den Knotenpool auf, um die angeforderten Ressourcen bereitzustellen, bis zum vom Nutzer angegebenen Limit. Wenn Knotenpools eine überschüssige Kapazität haben, skaliert der GKE-Cluster-Autoscaler den Knotenpool auf das vom Nutzer angegebene Limit herunter.