问题:在mapreduce过程中出现以下问题,使得最后出不来结果
Container killed on request. Exit code is 143
[2021-11-10 10:46:48.478]Container [pid=4040,containerID=container_1636510983211_0003_01_000003] is running 229304832B beyond the 'VIRTUAL' memory limit. Current usage: 57.3 MB of 1 GB physical memory used; 2.3 GB of 2.1 GB virtual memory used. Killing container
原因:这是由于YARN虚拟内存率不足导致的。
方法一:增大虚拟内存率
在yarn-site.xml文件中添加以下配置
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>3.0</value>
</property>
方法二:同样在yarn-site.xml增加以下配置:关掉对container执行虚拟内存限制
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>