Hadoop 由于AM容器已退出且exitCode为1,应用程序失败2次
我在hadoop-2.7.0上运行了一个mapreduce作业,但mapreduce作业无法启动,我面临以下错误:Hadoop 由于AM容器已退出且exitCode为1,应用程序失败2次,hadoop,mapreduce,Hadoop,Mapreduce,我在hadoop-2.7.0上运行了一个mapreduce作业,但mapreduce作业无法启动,我面临以下错误: 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
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
此错误的原因是什么?如何解决此问题
非常感谢您的帮助。您可以查看实际问题的应用程序日志 为此,您可以在上打开namenode web界面
namenode\u ip:50070
在这里您可以看到浏览选项,单击它。
在子菜单中,选择日志。
现在选择userlogs 在这里您可以看到您运行的应用程序列表 打开上述作业的链接
应用程序_1491779488590_0002
,您可以看到每个map&reduce任务的日志。
打开映射/减少作业日志链接
在它里面你可以看到:sys,error,stdout文件。
从这些日志文件中,您可以获得实际错误并修复它
或者您在中看到这些日志
$HADOOP\u HOME/logs/userlogs/application\u id
路径
应用程序失败2次,因为如果应用程序主控失败
出于某种原因,默认情况下,它将尝试执行应用程序
更多的时间。可以将AM retry属性设置为1以避免此情况。检查资源管理器上的日志:
namenodeip:8088
您可以修改warn-site.xml文件并添加此代码(ps:%HADOOP\u HOME%:是您的环境变量):
.application.classpath
%HADOOP\u HOME%\etc\HADOOP,
%HADOOP\u HOME%\share\HADOOP\common\*,
%HADOOP\u HOME%\share\HADOOP\common\lib\*,
%HADOOP\u HOME%\share\HADOOP\hdfs\*,
%HADOOP\u HOME%\share\HADOOP\hdfs\lib\*,
%HADOOP\u HOME%\share\HADOOP\mapreduce\*,
%HADOOP\u HOME%\share\HADOOP\mapreduce\lib\*,
%HADOOP\u HOME%\share\HADOOP\Thread\*,
%HADOOP\u HOME%\share\HADOOP\thread\lib\*
- 这对我很有效:)
<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>