我正在尝试在hadoop上执行map reduce程序。
当我将作业提交到hadoop单节点集群时。正在创建作业,但消息失败
“容器被应用程序管理员杀死”
使用的输入大小为10 mb。
当我使用输入文件400KB的相同脚本时,它成功了。但输入文件大小为10 mb时失败。
我的终端中显示的完整日志如下所示。
15/05/29 09:52:16 WARN util.NativeCodeLoader: Unable to `load native- hadoop library for your platform... using builtin-java classes where applicable
Submitting job on the cluster...
15/05/29 09:52:17 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032
15/05/29 09:52:18 INFO input.FileInputFormat: Total input paths to process : 1
15/05/29 09:52:18 INFO mapreduce.JobSubmitter: number of splits:1
15/05/29 09:52:19 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1432910768528_0001
15/05/29 09:52:19 INFO impl.YarnClientImpl: Submitted application application_1432910768528_0001
15/05/29 09:52:19 INFO mapreduce.Job: The url to track the job: http://localhost:8088/proxy/application_1432910768528_0001/
15/05/29 09:52:19 INFO mapreduce.Job: Running job: job_1432910768528_0001
15/05/29 09:52:29 INFO mapreduce.Job: Job job_1432910768528_0001 running in uber mode : false
15/05/29 09:52:29 INFO mapreduce.Job: map 0% reduce 0%
15/05/29 09:52:41 INFO mapreduce.Job: map 100% reduce 0%
15/05/29 10:03:01 INFO mapreduce.Job: map 0% reduce 0%
15/05/29 10:03:01 INFO mapreduce.Job: Task Id : attempt_1432910768528_0001_m_000000_0, Status : FAILED
AttemptID:attempt_1432910768528_0001_m_000000_0 Timed out after 600 secs
Container killed by the ApplicationMaster.
Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
我的Map器正在触发另一个程序,这个程序将在这里处理我的输入文件。由Map器触发的程序通常占用大量内存。
所以请在这方面帮助我。
2条答案
按热度按时间inkz8wg91#
包括以下属性
yarn-site.xml
然后重新启动VM
,q43xntqr2#
容器是一个过程。在应用程序主服务mapreduce中,mapper和reducer任务都是在框架内执行的容器。
您可以通过增加减速器的数量(例如
mapreduce.job.reduces=10
)或者通过增加reduce heap size(mapreduce.reduce.java.opts=-Xmx2014m
)如果您希望在运行时拥有固定数量的reducer,那么可以在命令行传递map/reduce作业时执行此操作。使用
-D mapreduce.job.reduces=10
使用所需的数量将在运行时生成那么多还原程序。在代码中,您可以配置
JobConf
变量来设置Map器和还原器的数量。假设我们有JobConf
变量作为作业。您还可以为这个特定作业将文件分割成更小的大小,以避免内存问题。
如果您仍然收到问题,请检查Yarn日志并张贴日志。