Warum GARN java heap space-Speicher Fehler?
Möchte ich versuchen, über die Einstellung memory im GARN, also werde ich versuchen, konfigurieren Sie einige parameter auf yarn-site.xml und mapred-site.xml. Durch die Art, wie ich mit hadoop 2.6.0. Aber, ich erhalte eine Fehlermeldung, wenn ich einen mapreduce-job. Es sagt so :
15/03/12 10:57:23 INFO mapreduce.Job: Task Id :
attempt_1426132548565_0001_m_000002_0, Status : FAILED
Error: Java heap space
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Ich denke, dass ich so konfiguriert haben, dass es richtig ist, gebe ich anzeigen.java.opts und reduzieren.java.entscheidet sich die kleine Größe = 64 MB. Ich habe versucht, konfigurieren Sie einige parameter dann, wie die Karte wechseln.java.opts und reduzieren.java.entscheidet sich auf mapred-site.xml und ich bekomme immer noch diesen Fehler. Ich denke, dass ich nicht wirklich verstehen, wie GARN Gedächtnis funktioniert. DURCH die Möglichkeit, diese versuche ich auf single-node-computer.
- 64MB ist sehr klein. Versuchen Sie 1GB als Ausgangspunkt.
- Auf Ihre Meinung, was diesen Fehler verursacht? Ich 64 MB, da meine computer-Speicher ist sehr klein. 64 MB ist für java-Prozess, der Recht ist, sollte es kleiner ist als Garn.app.mapreduce.bin.Befehl-opts oder Garn.app.mapreduce.bin.Ressource.mb. Bitte geben Sie mir eine Erklärung...vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Garn verarbeitet resource management und dient auch batch-workloads verwenden können, MapReduce und Echtzeit-workloads.
Gibt es memory-Einstellungen, die festgelegt werden können auf das Garn container-Ebene und auch auf der mapper-und reducer-Ebene. Speicher angefordert wird, in Schritten von Garn container-Größe. Mapper-und reducer-tasks laufen in einem container.
mapreduce.Karte.Speicher.mb und
mapreduce.reduzieren.Speicher.mb
oben genannten Parameter beschreiben upper memory limit für die map-reduce-Aufgabe und wenn der Speicher abonniert diese Aufgabe dieses limit überschreitet, wird der entsprechende container wird getötet werden.
Diese Parameter bestimmen die maximale Menge an Speicher zugewiesen werden können, mapper und reduzieren die Aufgaben.
Schauen wir uns ein Beispiel an:
Mapper gebunden ist, eine Obere Grenze für die Speicher, die in der Konfiguration festgelegten parameter mapreduce.Karte.Speicher.mb.
Jedoch, wenn der Wert für Garn.scheduler.Mindest-Zuteilung-mb größer ist als dieser Wert mapreduce.Karte.Speicher.mb, dann die Garn.scheduler.Mindest-Zuteilung-mb eingehalten werden und die Behälter dieser Größe sind gegeben.
Dieser parameter muss eingestellt werden sorgfältig durch, und wenn nicht richtig eingestellt, kann dies dazu führen, schlechte Leistung oder OutOfMemory-Fehler.
mapreduce.reduzieren.java.opts und mapreduce.Karte.java.entscheidet sich
Diese Eigenschaft-Wert muss kleiner sein als die Obere Grenze für die map/reduce-Aufgabe im Sinne mapreduce.Karte.Speicher.mb/mapreduce.reduzieren.Speicher.mb, wie es passen sollte innerhalb der Speicherzuordnung für das map/reduce-task.
Was @Gaurav sagte, ist richtig.
Ich hatte ähnliches Problem,ich habe versucht, einige Sache wie unten.Zählen unten Eigenschaften in
yarn-site.xml
und neu startenVM