今天在进行登录日志分析统计用户登录次数时,使用的是wordcount模块,在执行过程中抱错:
2024-04-06 11:40:09,728 INFO mapreduce.Job: Task Id : attempt_1712374464620_0001_m_000000_0, Status : FAILED
[2024-04-06 11:40:08.032]Container [pid=13390,containerID=container_1712374464620_0001_01_000002] is running 261401088B beyond the 'VIRTUAL' memory limit. Current usage: 171.0 MB of 1 GB physical memory used; 2.3 GB of 2.1 GB virtual memory used. Killing container.
此问题原因是container在申请多余的内存时,被resouremanager杀掉了。此处可修改/opt/modulr/hadoop-3.1.4/hadoop/etc/yarn-site.xml
在/opt/modulr/hadoop-3.1.4/hadoop/etc/yarn-site.xml插入以下代码
<property>
<!-- 是否对容器强制执行虚拟内存限制 -->
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
注意:在修改配置文件前,需要停止集群中的yarn (可执行命令 stop-yarn.sh 修改完成后再启动,start-yarn.sh),最后重新执行wordcount模块进行邮箱 统计
最后查看运行的结果