发现问题

今天在配置hadoop文件时,报错:is running 446528000B beyond the ‘VIRTUAL’ memory limit. Current usage: 73.9 MB of 1 GB physical memory used; 2.5 GB of 2.1 GB virtual memory used. Killing container.

意思是虚拟内存,超出了限制。

然后将虚拟机内存改为3G关闭集群重启之后还是报错

于是使用命令:vi yarn-site.xml来修改配置为

<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false<value></property>

关闭重启集群之后又报错:以及:024-03-05 18:46:26,435 INFO mapreduce.Job: Task Id : attempt_1709635367958_0001_m_000000_2, Status : FAILED Container launch failed for container_1709635367958_0001_01_000004 : org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException: The auxService:mapreduce_shuffle does not exist 错误原因是 “mapreduce_shuffle” 辅助服务不存在。

这种情况通常是由于Hadoop配置中未正确配置MapReduce shuffle服务引起的。

好吧,再次使用命令 vi yarn-site.xml来修改配置为

<configuration>

<!-- Site specific YARN configuration properties -->

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

</configuration>

然后关闭重启又报错:虚拟内存不够,已达到上限,涉及到 MapReduce 任务的内存配置参数。需要调整 MapReduce 任务的内存限制

于是乎,使用 vi mipred-site.xml 命令修改为:

<configuration>
<property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property>
  <name>mapred.job.track</name>
  <value>hdfs://hadoop:9001</value>
</property>
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

<property>
 <name>mapreduce.map.memory.mb</name>
  <value>2048</value> <!-- 设置 map 任务内存上限为 2048MB -->
</property>

<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>4096</value> <!-- 设置 reduce 任务内存上限为 4096MB -->
</property>
</configuration>

关闭重启之后运行一切ok,亲测有效!!!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。