Auf dieser Seite werden häufige Ursachen für Verzögerungen bei der Planung von Dataproc-Jobs aufgeführt. mit Informationen, die Ihnen dabei helfen können, sie zu vermeiden.
Übersicht
Häufige Gründe für Verzögerungen bei Dataproc-Jobs (gedrosselt):
- Zu viele laufende Jobs
- Hohe Auslastung des Systemspeichers
- Nicht genügend freier Arbeitsspeicher
- Ratenbegrenzung wurde überschritten
In der Regel wird die Jobverzögerungsnachricht im folgenden Format ausgegeben:
Awaiting execution [SCHEDULER_MESSAGE]"
In den folgenden Abschnitten finden Sie mögliche Ursachen und Lösungen für bestimmte und Jobverzögerungen.
Zu viele laufende Jobs
Nachricht des Planers:
Throttling job ### (and maybe others): Too many running jobs (current=xx max=xx)
Ursachen:
Die maximale Anzahl gleichzeitiger Jobs basierend auf dem Arbeitsspeicher der Master-VM wurde überschritten (der Jobtreiber auf der Dataproc-Cluster-Master-VM ausgeführt wird). Standardmäßig reserviert Dataproc 3, 5 GB Arbeitsspeicher für Anwendungen, und ermöglicht 1 Job pro GB.
Beispiel: Der Maschinentyp n1-standard-4
hat 15GB
Arbeitsspeicher. Mit 3.5GB
für Aufwand reserviert,
Noch 11.5GB
. 11GB
kann für bis zu 11 gleichzeitige Jobs auf eine Ganzzahl abgerundet werden.
Lösungen:
Überwachen Sie Protokollmesswerte wie CPU-Nutzung und Arbeitsspeicher, um die Jobanforderungen zu schätzen.
Wenn Sie einen Jobcluster erstellen:
Verwenden Sie für die Cluster-Master-VM einen Maschinentyp mit größerem Arbeitsspeicher.
Wenn
1GB
pro Job mehr als erforderlich ist, legen Sie den Parameterdataproc:dataproc.scheduler.driver-size-mb
Clusterattribut auf weniger als1024
.dataproc:dataproc.scheduler.max-concurrent-jobs
festlegen Clusterattribut auf einen Wert, der Ihren Jobanforderungen entspricht.
Großer Systemspeicher oder nicht genügend freier Speicher
Nachricht des Planers:
Throttling job xxx_____JOBID_____xxx (and maybe others): High system memory usage (current=xx%)
Throttling job xxx_____JOBID_____xxx (and maybe others): Not enough free memory (current=xx min=xx)
Ursachen:
Standardmäßig drosselt der Dataproc-Agent die Jobübermittlung, wenn
Die Arbeitsspeichernutzung erreicht 90% (0.9)
). Wenn dieses Limit erreicht ist, können keine neuen Jobs
geplant.
Die Menge an freiem Arbeitsspeicher, die zum Planen eines anderen Jobs im Cluster erforderlich ist ist nicht ausreichend.
Lösung:
Wenn Sie einen Cluster erstellen, geschieht Folgendes:
- Erhöhen Sie den Wert der
dataproc:dataproc.scheduler.max-memory-used
Clusterattribut. Legen Sie ihn beispielsweise über dem Standardwert0.90
auf0.95
fest. - Erhöhen Sie den Wert der
dataproc.scheduler.min-free-memory.mb
Clusterattribut. Der Standardwert ist256
MB.
- Erhöhen Sie den Wert der
Job-Frequenzlimit überschritten
Nachricht des Planers:
Throttling job xxx__JOBID___xxx (and maybe others): Rate limit
Ursachen:
Der Dataproc-Agent hat das Limit für die Übertragungsrate von Jobs erreicht.
Lösungen:
- Standardmäßig ist die Einreichung von Dataproc-Agent-Jobs auf
1.0 QPS
begrenzt. Sie können einen anderen Wert festlegen, wenn Sie einen Cluster mit derdataproc:dataproc.scheduler.job-submission-rate
-Clustereigenschaft erstellen.
Jobstatus ansehen.
Informationen zum Anzeigen des Jobstatus und von Details finden Sie unter Monitoring und Fehlerbehebung für Jobs.