J'ai couru un travail mapreduce sur hadoop-2.7.0 mais le travail mapreduce ne peut pas être lancé et j'ai rencontré cette erreur ci-dessous:
Job job_1491779488590_0002 failed with state FAILED due to: Application application_1491779488590_0002 failed 2 times due to AM Container for appattempt_1491779488590_0002_000002 exited with exitCode: 1
For more detailed output, check application tracking page:http://erfan:8088/cluster/app/application_1491779488590_0002Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_1491779488590_0002_02_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1:
at org.Apache.hadoop.util.Shell.runCommand(Shell.Java:545)
at org.Apache.hadoop.util.Shell.run(Shell.Java:456)
at org.Apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.Java:722)
at org.Apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.Java:211)
at org.Apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.Java:302)
at org.Apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.Java:82)
at Java.util.concurrent.FutureTask.run(FutureTask.Java:262)
at Java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.Java:1145)
at Java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.Java:615)
at Java.lang.Thread.run(Thread.Java:745)
Container exited with a non-zero exit code 1
Failing this attempt. Failing the application.
17/04/10 13:40:08 INFO mapreduce.Job: Counters: 0
Quelle est la raison de cette erreur et comment puis-je résoudre ce problème?
toute aide appréciée.
Vérifier les journaux sur Resource Manager:
namenodeip:8088
Maintenant, ouvrez le terminal et vérifiez le problème actuel:
yarn logs -applicationId <APP_ID>
Exemple: APP_ID = application_1535002188113_0001
Dans le cas de la mine, cela montre les problèmes de permission:
alors je l'ai donné:
Sudo -u hdfs hadoop fs -chmod 775 /user/history
or
Sudo -u hdfs hadoop fs -chmod 777 /user/history
Vous pouvez voir les journaux d'application du problème réel.
Pour cela, vous pouvez ouvrir l'interface Web namenode sur Namenode_ip: 50070
Ici vous pouvez voir l'option de navigation, cliquez dessus.
Dans le sous-menu, sélectionnez les journaux.
Maintenant, sélectionnez les userlogs.
Ici vous pouvez voir la liste des applications que vous avez exécutées.
Ouvrez le lien application_1491779488590_0002 pour votre travail mentionné ci-dessus. À l'intérieur, vous pouvez voir les journaux de chaque carte et réduire la tâche. Ouvrir le lien mapper/réduire le journal des travaux.
À l'intérieur, vous pouvez voir: sys, error, stdout files . À partir de ces fichiers de log, vous pouvez obtenir l'erreur réelle et la corriger.
Ou vous voyez ces journaux dans $ Chemin HADOOP_HOME/logs/userlogs/id_application.
L’application a échoué 2 fois, car si le maître d’application échouait pour une raison quelconque, il tentera par défaut d’exécuter à nouveau l’application. La propriété Réessayer AM peut être définie sur 1 pour éviter cela.
Vous pouvez modifier le fichier yarn-site.xml et ajouter ce code (ps:% HADOOP_HOME%: est votre variable d’environnement):
<property>
<name>yarn.application.classpath</name>
<value>
%HADOOP_HOME%\etc\hadoop,
%HADOOP_HOME%\share\hadoop\common\*,
%HADOOP_HOME%\share\hadoop\common\lib\*,
%HADOOP_HOME%\share\hadoop\hdfs\*,
%HADOOP_HOME%\share\hadoop\hdfs\lib\*,
%HADOOP_HOME%\share\hadoop\mapreduce\*,
%HADOOP_HOME%\share\hadoop\mapreduce\lib\*,
%HADOOP_HOME%\share\hadoop\yarn\*,
%HADOOP_HOME%\share\hadoop\yarn\lib\*
</value>
</property>