我和他一起做一份先生的工作 one Master
以及 two slavers
在amazon的emr上,但是得到了很多错误信息,比如 running beyond physical memory limits. Current usage: 3.0 GB of 3 GB physical memory used; 3.7 GB of 15 GB virtual memory used. Killing container
之后 map 100% reduce 35%
我修改了代码,在hadoop2.6.0mr配置中添加了以下几行代码,但仍然收到相同的错误消息。
Configuration conf = new Configuration();
Job job = Job.getInstance(conf, "jobtest2");
//conf.set("mapreduce.input.fileinputformat.split.minsize","3073741824");
conf.set("mapreduce.map.memory.mb", "8192");
conf.set("mapreduce.map.java.opts", "-Xmx8192m");
conf.set("mapreduce.reduce.memory.mb", "8192");
conf.set("mapreduce.reduce.java.opts", "-Xmx8192m");
配置这些参数的正确方法是什么( mapreduce.map.memory.mb
, mapreduce.map.java.opts
, mapreduce.reduce.memory.mb
, mapreduce.reduce.java.opts
)亚马逊电子病历?谢谢您!
2条答案
按热度按时间2w3rbyxf1#
请查看aws cli的文档。有一节介绍hadoop以及如何在emr示例创建时Map到特定的xml配置文件。我发现这是电子病历上最好的方法。
mrwjdhj32#
hadoop2.x允许您设置Map并减少每个作业的设置,以便设置正确的部分。问题是java opts xmx内存必须小于map/reduce.memory.mb。此属性表示堆和堆外使用的总内存。以默认值为例:http://docs.aws.amazon.com/elasticmapreduce/latest/releaseguide/emr-hadoop-task-config.html. 如果在使用默认设置时,yarn正在清除超出内存的容器,那么这意味着您需要为堆外部分提供更多内存,从而增加xmx和total map/reduce.memory.mb之间的间隙。