ApplicationMaster退出代码杀死的容器是143

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ApplicationMaster退出代码杀死的容器是143相关的知识,希望对你有一定的参考价值。

我在几种情况下遇到以下错误:

2017-03-23 11:55:10,794 INFO [AsyncDispatcher event handler] org.apache.hadoop.mapreduce.v2.app.job.impl.TaskAttemptImpl: Diagnostics report from attempt_1490079327128_0048_r_000003_0: Container killed by the ApplicationMaster.

Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143

我注意到它发生了一个大的但是当我改变“排序分配记忆”它没有帮助。

我尝试更改其他内存属性但是,解决方案使我无法解决。有关Mapreduce如何工作以及不同组件之间的相互作用有什么好的解释吗?我应该改变什么?我在哪里找到导致这种情况的Java错误?

答案

退出代码143与内存/ GC问题有关。您的默认Mapper / reducer内存设置可能不足以运行大型数据集。因此,在调用大型纱线作业时,尝试设置更高的AM,MAP和REDUCER内存。

请查看此链接:https://community.hortonworks.com/questions/96183/help-troubleshoot-container-killed-by-the-applicat.html

另一答案

我发现我把两件事分开了。 143退出代码来自指标收集器,该收集器已关闭。据我所知,由于没有内存问题,乔布斯被杀了。问题在于大窗口函数无法将数据减少到包含所有数据的最后一个数据。

虽然,日志中的地方给出了工作被杀的原因,但我仍然无法理解。

以上是关于ApplicationMaster退出代码杀死的容器是143的主要内容,如果未能解决你的问题,请参考以下文章

如何在linux中使用shell脚本杀死进程时获取退出代码=0

Python - 正确杀死/退出期货线程?

Java中的杀死或销毁或退出线程[重复]

主进程退出的时候,杀死所有子进程

Android Studio - 如何(关闭,退出,退出,杀死等)应用程序[重复]

杀死任一线程并退出进程