web-dev-qa-db-fra.com

Échec de l'application à 2 reprises en raison d'un conteneur AM: quitté avec exitCode: 1

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.

10
Erfan Farhangy

Vérifier les journaux sur Resource Manager:

namenodeip:8088

vous avez cette erreur:  enter image description here

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

2
Hmnt Jangir

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.

2
Rahul

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>
  • cela a fonctionné pour moi :)
0
basma