我在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
此错误的原因是什么?如何解决此问题?
任何帮助表示感谢。
答案 0 :(得分:3)
在资源管理器上检查日志:
namenodeip:8088
现在打开终端并检查实际问题:
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()