Ich möchte versuchen, Speicher in YARN zu setzen, also werde ich versuchen, einige Parameter auf yarn-site.xml und mapred-site.xml zu konfigurieren. Übrigens benutze ich hadoop 2.6.0. Aber ich erhalte einen Fehler, wenn ich einen mapreduce Job mache. Es sagt so:
%Vor%Ich denke, dass ich es richtig konfiguriert habe, gebe ich map.java.opts und reduce.java.opts die kleine Größe = 64 MB. Ich habe versucht, einige Parameter dann zu konfigurieren, wie die map.java.opts und reduce.java.opts auf mapred-site.xml zu ändern, und ich bekomme immer noch diesen Fehler. Ich denke, dass ich nicht wirklich verstehe, wie das YARN-Gedächtnis funktioniert. Übrigens probiere ich einen Einzelknoten-Computer an.
Yarn verwaltet die Ressourcenverwaltung und unterstützt auch Batch-Workloads, die MapReduce- und Echtzeit-Workloads verwenden können.
Es gibt Speichereinstellungen, die auf der Garnbehälterebene und auch auf der Mapper- und Reducer-Ebene eingestellt werden können. Speicher wird in Schritten der Garncontainergröße angefordert. Mapper- und Reducer-Tasks werden in einem Container ausgeführt.
mapreduce.map.memory.mb und mapreduce.reduce.memory.mb
Die obigen Parameter beschreiben die obere Speichergrenze für die Map-Reduction-Aufgabe. Wenn der von dieser Task abonnierte Speicher diesen Grenzwert überschreitet, wird der entsprechende Container gelöscht.Diese Parameter bestimmen die maximale Speichermenge, die dem Mapper zugewiesen bzw. reduziert werden kann. Schauen wir uns ein Beispiel an: Der Mapper ist an eine obere Grenze für den Speicher gebunden, die im Konfigurationsparameter mapreduce.map.memory.mb definiert ist.
Wenn jedoch der Wert für gam.scheduler.minimum-allocation-mb größer ist als dieser Wert von mapreduce.map.memory.mb , dann ist > gam.scheduler.minimum-allocation-mb wird respektiert und die Container dieser Größe ausgegeben.
Dieser Parameter muss sorgfältig eingestellt werden, und wenn er nicht richtig eingestellt wird, kann dies zu einer schlechten Leistung oder OutOfMemory-Fehlern führen.
mapreduce.reduce.java.opts und mapreduce.map.java.opts
Dieser Eigenschaftswert muss kleiner als die obere Grenze für die Zuordnungs / Reduzierungs-Aufgabe sein, wie in mapreduce.map.memory.mb/mapreduce.reduce.memory.mb definiert, da er in die Tabelle passen sollte die Speicherzuweisung für die Aufgabe map / reduce.