由于AM容器,应用程序失败了2次:退出,退出时使用exitCode:1

时间:2017-04-15 11:48:45

标签: 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  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

此错误的原因是什么?如何解决此问题?

任何帮助表示感谢。

3 个答案:

答案 0 :(得分:3)

在资源管理器上检查日志:

namenodeip:8088

您收到此错误: enter image description here

现在打开终端并检查实际问题:

yarn logs -applicationId <APP_ID>

示例:APP_ID = application_1535002188113_0001

在我的情况下,它显示权限问题:

所以我给了它

   sudo -u hdfs hadoop fs -chmod 775 /user/history
   
   or
   
   sudo -u hdfs hadoop fs -chmod 777 /user/history

答案 1 :(得分:2)

您可以查看实际问题的应用程序日志。

为此,您可以打开namenode Web界面 namenode_ip:50070
在这里你可以看到浏览选项,点击它。
在子菜单中,选择日志 现在选择用户日志。

在这里,您可以看到您运行的应用程序列表。

打开上述作业的链接application_1491779488590_0002,您可以看到每张地图的日志&amp;减少任务。 打开地图/减少作业日志链接。

在其中你可以看到:sys,error,stdout文件。 从这些日志文件中,您可以获得实际错误并进行修复。

或者你看到这些登录 $HADOOP_HOME/logs/userlogs/application_id路径。

应用程序失败2次,因为如果应用程序主机失败了 某种原因,默认情况下它会尝试执行一个应用程序 更多时间。 AM重试属性可以设置为1以避免这种情况。

答案 2 :(得分:0)

您可以修改yarn-site.xml文件并添加以下代码(ps:%HADOOP_HOME%:是您的环境变量):

cap_set_proc()
  • 对我有用:)