docker - 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 图像。
我不知道发生了什么。
然后我查看了logs/userlogs/中的系统日志。
并且主节点中没有用户日志。
事实上,安全模式始终处于关闭状态。
这是一个非常奇怪的问题。任何建议和解决方案将不胜感激!
解决方案
推荐阅读
- verilog - 如何在verilog中将一个模块的输出用作另一个模块的输入?
- indexing - Neo4j 手动/显式索引和非字符串范围查询
- sql - 如何在 SQLite 中计算不同利率的复利
- java - 错误:未加载 mongodb.jdbc.MongoDriver。你确定你在 :jdbc_driver_library 中包含了正确的 jdbc 驱动程序吗?
- java - 当用户尝试打开任何工作(.doc)文件时,如何以编程方式打开 xyz 程序?
- reactjs - 单击它们时如何使3个按钮显示和隐藏内容?
- vue.js - 如何列出 vue 组件中所有可用的插槽
- apache-flink - Flink Streaming API:如何将元素发送到多个(但不是全部)分区?
- ats - 你如何对负 1 进行模式匹配?
- flutter - Google Assistant 和 Siri 的 Flutter 集成 - 语音交互