首页 > 解决方案 > mapreduce.Job:作业失败,状态为 FAILED,原因是:应用程序失败 2 次,原因是 AM Container for appattempt_exited with exitCode:1

问题描述

我配置了 hadoop 并在 Docker 上运行它。标题中的问题让我很困惑。详情如下。

我参考了教程

https://hadoop.apache.org/docs/r2.7.1/hadoop-yarn/hadoop-yarn-site/DockerContainerExecutor.html

并运行了一个字数统计示例。

./hadoop namenode -format
./start-yarn.sh
./start-dfs.sh
./mr-jobhistory-daemon.sh start historyserver

hdfs dfs -mkdir -p input
echo "hello world" > file.txt
hdfs dfs -put file.txt input

hadoop jar hadoop-mapreduce-examples-2.7.1.jar wordcount -Dmapreduce.map.env="yarn.nodemanager.docker-container-executor.image-name=sequenceiq/hadoop-docker:2.4.1" -Dyarn.app.mapreduce.am.env="yarn.nodemanager.docker-container-executor.image-name=sequenceiq/hadoop-docker:2.4.1" -Dmapreduce.reduce.env="yarn.nodemanager.docker-container-executor.image-name=sequenceiq/hadoop-docker:2.4.1" input output

然后日志显示在图像中:
登录主节点

运行此示例时,节点管理器会自动拉取一个序列/火花:1.6.0 图像。 我不知道发生了什么。 从节点中的 docker 图像

然后我查看了logs/userlogs/中的系统日志。 并且主节点中没有用户日志。
从节点中的 syslog

事实上,安全模式始终处于关闭状态。

这是一个非常奇怪的问题。任何建议和解决方案将不胜感激!

标签: dockerhadoop

解决方案


推荐阅读