Container is running beyond physical memory limits

1、Hive执行SQL语句,出现如下错误:

Container is running beyond physical memory limits. 
Current usage: 4.3 GB of 4 GB physical memory used; 
8.9 GB of 8.4 GB virtual memory used. Killing container. 

2、错误分析:

4.3GB 是当前task所占用的physical memory。

4GB mapreduce.map.memory.mb 或者 mapreduce.reduce.memory.mb 设定的值。

8.9GB 是当前task所占用的virtual memory。

8.4GB 是 mapreduce.map.memory.mbyarn.nodemanager.vmem-pmem-ratio = 4 * 2.1 = 8.4

3、解决思路:

在Reduce端发生的错误,增加mapreduce.reduce.memory.mb 的内存,或者调整 yarn.nodemanager.vmem-pmem-ratio 的值即可。

猜你喜欢

转载自blog.csdn.net/kanaka10/article/details/92803677