Hadoop map reduce忽略java代码中定义的xmx内存

Hadoop map reduce忽略java代码中定义的xmx内存,java,hadoop,mapreduce,Java,Hadoop,Mapreduce,我有一个java map reduce代码,其中使用了以下几行代码来定义内存堆大小: conf.set("mapreduce.map.java.opts", "-Xms3g"); conf.set("mapreduce.map.java.opts", "-Xmx3g"); conf.set("mapreduce.reduce.java.opts", "-Xmx2g"); 但当我运行代码时,它仍然使用2g物理内存,并且无法运行一些map reduce任务。我甚至更改了xml文件中的内存限制,但仍

我有一个java map reduce代码,其中使用了以下几行代码来定义内存堆大小:

conf.set("mapreduce.map.java.opts", "-Xms3g");
conf.set("mapreduce.map.java.opts", "-Xmx3g");
conf.set("mapreduce.reduce.java.opts", "-Xmx2g");

但当我运行代码时,它仍然使用2g物理内存,并且无法运行一些map reduce任务。我甚至更改了xml文件中的内存限制,但仍然得到相同的错误。请您帮助我找出问题所在,以及为什么它忽略了我的内存定义?

我忘了在代码中定义物理内存,因此添加后:

conf.set("mapreduce.map.memory.mb", "4000");

问题解决了

我忘了在代码中定义物理内存,所以添加之后:

conf.set("mapreduce.map.memory.mb", "4000");

问题解决了

已经有一段时间了,但是您可能必须从site.xml文件中删除任何标记才能使这些属性正常工作。。。我认为site.xml会赢。已经有一段时间了,但是您可能必须从site.xml文件中删除任何标记,这些属性才能工作。。。我认为site.xml获胜。