Ich habe meinen eigenen MapReduce-Code, den ich ausführen möchte, aber er bleibt einfach im Status Accepted. Ich habe versucht, einen anderen Beispiel-MR-Job auszuführen, den ich zuvor ausgeführt hatte und der erfolgreich war. Aber jetzt bleiben beide Jobs im akzeptierten Zustand. Ich habe versucht, verschiedene Eigenschaften in mapred-site.xml und gararn-site.xml zu ändern (siehe hier und hier ), aber das hat auch nicht geholfen. Kann jemand bitte darauf hinweisen, was möglicherweise schief geht. Ich benutze hadoop-2.2.0
Ich habe viele Werte für die verschiedenen Eigenschaften ausprobiert. Hier ist ein Satz von Werten. In mapred-site.xml
<property>
<name>mapreduce.job.tracker</name>
<value>localhost:54311</value>
</property>
<property>
<name>mapreduce.job.tracker.reserved.physicalmemory.mb</name>
<value></value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>256</value>
</property>
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>400</value>
<source>mapred-site.xml</source>
</property>
In garn-site.xml
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>400</value>
<source>yarn-site.xml</source>
</property>
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>.3</value>
</property>
Ich hatte den gleichen Effekt und stellte fest, dass das System mehr Arbeitsspeicher pro Arbeitsknoten zur Verfügung stellt und der Speicherbedarf für eine unterstützte Anwendung reduziert wird.
Die Einstellungen habe ich (in meinen sehr kleinen Experimentierboxen) in meiner Garn-Site.xml:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2200</value>
<description>Amount of physical memory, in MB, that can be allocated for containers.</description>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>500</value>
</property>
Ein Job, der im accepted
-Status von YARN hängen bleibt, ist normalerweise darauf zurückzuführen, dass freie Ressourcen nicht ausreichen. Sie können es unter http://resourcemanager:port/cluster/scheduler
überprüfen:
Memory Used + Memory Reserved >= Memory Total
, reicht der Speicher nicht ausVCores Used + VCores Reserved >= VCores Total
, reicht VCores nicht ausSie kann auch durch Parameter wie maxAMShare
begrenzt werden.
Hatte das gleiche Problem, und für mich war es eine volle Festplatte (> 90% voll), was das Problem war. Platz zu sparen hat mich gerettet.
Folgen Sie dem Blog - http://hortonworks.com/blog/how-to-plan-and-configure-yarn-in-hdp-2-0/
Hier wird ausführlich beschrieben, wie die Parameter für YARN-Container festgelegt werden
Ich stand vor demselben Problem. Ich habe jede in den obigen Antworten erwähnte Konfiguration geändert, aber es hat keinen Sinn. Danach habe ich den Zustand meines Clusters erneut überprüft. Dort habe ich beobachtet, dass sich mein einziger Knoten in einem nicht gesunden Zustand befand. Das Problem war auf mangelnden Speicherplatz in meinem Verzeichnis/tmp/hadoop-hadoopUser/nm-local-dir zurückzuführen. Dies kann auch überprüft werden, indem der Zustand der Knoten auf der Web-Benutzeroberfläche des Ressourcenmanagers an Port 8032 überprüft wird. Um dies zu beheben, habe ich unterhalb der Eigenschaft Garn-site.xml hinzugefügt.
<property>
<name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
<value>98.5</value>
</property>
Nach dem Neustart meiner hadoop-Daemons wurde der Knotenstatus in einen fehlerfreien Zustand versetzt, und die Jobs wurden ausgeführt
Ich benutze Hadoop 3.0.1.Ich hatte das gleiche Problem, bei dem der eingesendete Map-Reduction-Job in ResourceManager-Web-UI als im ACCEPTED-Status angehalten angezeigt wurde. Auch in derselben ResourceManager-Web-UI unter Cluster metrics
-> Memory used
war 0, Total Memory
war 0; Cluster Node Metrics
-> Active Nodes
war 0, obwohl die Web-Benutzeroberfläche von NamedNode die Datenknoten einwandfrei auflistete. Beim Ausführen von yarn node -list
im Cluster wurden keine NodeManagers angezeigt. Es wird angezeigt, dass meine NodeManagers nicht ausgeführt wurden. Nach dem Starten der NodeManagers konnte die neu gesendete Map-Reduzierungsaufträge weiter ausgeführt werden. Sie befanden sich nicht mehr im ACCEPTED-Status und gingen in den Status "RUNNING"
Durch Hinzufügen der Eigenschaftyarn.resourcemanager.hostnamezum Hauptknotenhostnamen in yarn-site.xml und kopieren Sie diese Datei auf alle Knoten im Cluster, um dieser Konfiguration Rechnung zu tragen. Das Problem wurde behoben für mich.