Hadoop执行reduce失败,提示Container is running beyond virtual memory limits. Killing contai...

2018-01-05 10:25:28来源:https://www.juwends.com/usages/hadoop_reduce_beyond_virtual_作者:Juwend's人点击

分享

提示信息如下:


18/01/01 21:11:40 INFO mapreduce.Job: Task Id : attempt_1514811676808_0001_m_000000_0, Status : FAILED
[2018-01-01 13:11:38.817]Container [pid=6319,containerID=container_1514811676808_0001_01_000002] is running beyond virtual memory limits. Current usage: 236.3 MB of 1 GB physical memory used; 2.1 GB of 2.1 GB virtual memory used. Killing container.
Dump of the process-tree for container_1514811676808_0001_01_000002 :
...
[2018-01-01 13:11:38.872]Container killed on request. Exit code is 143[2018-01-01 13:11:38.879]
[2018-01-01 13:11:38.922]Container exited with a non-zero exit code 143. [2018-01-01 13:11:38.924]
...

一大片信息,一直反复的出现,最后大多数次数会执行失败了… 还是有那么几次成功的…


开始看提示,“beyond virtual memory limits”,貌似是说内存不够,好吧,加内存,因为是开的虚拟机,就加了几百兆,发现还是出问题,然后加1G,最后加到电脑的内存都被吃完了,依然出现这个错误…


就很纳闷了,怎么回事,我就执行了一个 wordcount 的示例,怎么会吃掉几个G的内存,hadoop也太能吃了吧,内存终结者吗???wordcount 我用JAVA写也就十几M内存顶天了吧…



然后网上找答案,没有找到解决方案,就在寻思,mapreduce 难道真的很耗内存,虽然从原理上来看,完全不赞同,但是还是寻思要不搞个服务器试试? 但是在搞之前,(无比幸运的)想先把其他几个问题先解决了,于是开始解决另一个问题(见执行hadoop命令警告可能的解决办法
),这个问题的解决方案是换成 JDK8。


突然想到,那“beyond virtual memory limits”会不会也是 JDK9 的问题呢? 赶紧试试,结局自然很清楚了,就是那该死的 JDK9 导致的问题…


fuck JDK9 again! 我的元旦就这么被浪费了… 突然好奇 JDK9 怎么把它搞坏的…



本文《Hadoop执行reduce失败,提示Container is running beyond virtual memory limits. Killing container. Exit code is 143 问题的可能解决办法》
来自www.juwends.com ,欢迎转载或CV操作,但请注明出处,谢谢!


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台