我有一个java映射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任务。我甚至更改了yarn xml文件中的内存限制,但仍然会出现同样的错误。你能帮我弄清楚问题出在哪里吗?为什么它忽略了我的记忆定义?
我忘记在代码中定义物理内存,所以添加后:
conf.set("mapreduce.map.memory.mb", "4000");
问题解决了!