在aws上分别为mapper和reducer指定vm设置

zpf6vheq  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(278)

我有一个关于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(...) 返回我设置的值)

qv7cva1a

qv7cva1a1#

如果你看看 hadoop-1.0.3/docs 文件夹中,您将找到一个名为mapred\u tutorial.html的文件。在“任务执行与环境”部分中,文档告诉您使用以下方法:

mapred.{map|reduce}.child.java.opts

他们更改了配置名称,因此 mapreduce.map/reduce.java.opts 从hadoop-0.21.0不再适用于更新的hadoop-1.0.3。

相关问题