我有一个关于amazon web服务上的elastic mapreduce的问题。你们中有人能设置以下环境参数吗
mapreduce.map/reduce.java.opts
问题是,当我在Map器和还原器的虚拟机中检查堆大小时,最大堆大小不受这些设置的影响。我通过在map/reduce代码中添加以下行来检查heapsize as:
runtime = Runtime.getRuntime();
System.out.println(runtime.maxMemory());
我使用带有以下参数的命令行界面设置它们:
-引导操作s3://elasticmapreduce/bootstrap actions/configure hadoop--args“-m,mapreduce.map.java.opts=-xmx1000m,-m,mapreduce.reduce.java.opts=-xmx3000m”
我在amazonemr上检查了hadoop的版本如下:1.0.3(我检查了tomwhite的参考书,它说启动hadoop0.21应该支持这些)
尽管可以设置子进程的vm设置(=mapper和reducer的设置相同->mapred.child.java.opts),但是这对于我的算法来说非常不方便,在我的算法中reducer必须存储一个大的hashmap,而mapper什么都不讲。
可能与这个问题有关:如果设置了不受支持的环境变量,是否可能得到警告。当我设置上述变量时,可以访问它们,但它们显然不被使用/支持( configuration.get(...)
返回我设置的值)
1条答案
按热度按时间qv7cva1a1#
如果你看看
hadoop-1.0.3/docs
文件夹中,您将找到一个名为mapred\u tutorial.html的文件。在“任务执行与环境”部分中,文档告诉您使用以下方法:他们更改了配置名称,因此
mapreduce.map/reduce.java.opts
从hadoop-0.21.0不再适用于更新的hadoop-1.0.3。