Ich bin neu in Hadoop. Wenn ich einen Job ausführe, sehe ich die gesamte Ressourcenzuweisung für diesen Job als 251248654 MB-Sekunden, 24462 Vcore-Sekunden. Wenn ich jedoch Details über den Cluster finde, zeigt es, dass es 888 Vcores-Gesamt und 15,90 TB Speicher-Gesamt gibt. Kann mir jemand sagen, wie das zusammenhängt? Was bedeuten MB-Sekunden und Vcore-Sekunden für den Job?
Gibt es online Material, um diese zu kennen? Ich habe versucht zu surfen, bekomme keine richtige Antwort
Für z.B. Ich habe einen einzelnen Knoten-Cluster, wobei ich Speicheranforderungen pro Container wie folgt festgelegt habe: 1228 MB (bestimmt durch config: yarn.scheduler.minimum-allocation-mb
) und vCores pro Container auf 1 vCore (bestimmt durch config: yarn.scheduler.minimum-allocation-vcores
).
Ich habe festgelegt: yarn.nodemanager.resource.memory-mb
bis 9830 MB. Also kann es insgesamt 8 Container pro Knoten geben (9830/1228 = 8).
Also, für meinen Cluster:
%Vor%Die folgende Abbildung zeigt meine Cluster-Messwerte:
Sehen wir uns jetzt "MB-Sekunden" und "vcore-Sekunden" an. Gemäß der Beschreibung im Code (ApplicationResourceUsageReport.java):
MB-Sekunden : Die aggregierte Speichermenge (in Megabyte), die die Anwendung der Anzahl der Sekunden zugewiesen hat, die die Anwendung ausgeführt wurde.
vcore-seconds : Die aggregierte Anzahl der VCores, die die Anwendung zugewiesen hat, multipliziert mit der Anzahl der Sekunden, in denen die Anwendung ausgeführt wurde.
Die Beschreibung ist selbsterklärend (erinnern Sie sich an das Schlüsselwort: Aggregiert).
Lassen Sie mich das mit einem Beispiel erklären. Ich habe einen DistCp-Job ausgeführt (der 25 Container hervorgebracht hat), für den ich folgendes bekommen habe:
%Vor%Lasst uns jetzt grob berechnen, wie viel Zeit jeder Container beansprucht:
%Vor%Dies bedeutet im Durchschnitt, dass jeder Container 5,62 Minuten benötigt, um ausgeführt zu werden.
Hoffe, das macht es klar. Sie können einen Job ausführen und selbst bestätigen.