Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 在AWS上分别为mapper和reducer指定VM设置_Hadoop_Amazon Web Services_Mapreduce_Elastic Map Reduce - Fatal编程技术网

Hadoop 在AWS上分别为mapper和reducer指定VM设置

Hadoop 在AWS上分别为mapper和reducer指定VM设置,hadoop,amazon-web-services,mapreduce,elastic-map-reduce,Hadoop,Amazon Web Services,Mapreduce,Elastic Map Reduce,我有一个关于amazon web服务上的弹性mapreduce的问题。 是否有人能够设置以下环境参数: mapreduce.map/reduce.java.opts 问题是,当我在映射器和还原器的虚拟机中检查堆大小时,最大堆大小不受这些设置的影响。我通过在map/reduce代码中添加以下行来检查heapsize as: runtime = Runtime.getRuntime(); System.out.println(runtime.maxMemory()); 我使用命令行界面使用以下参

我有一个关于amazon web服务上的弹性mapreduce的问题。 是否有人能够设置以下环境参数:

mapreduce.map/reduce.java.opts

问题是,当我在映射器和还原器的虚拟机中检查堆大小时,最大堆大小不受这些设置的影响。我通过在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=-xmx300m”

我在AmazonEMR上检查了hadoop版本,如下所示:1.0.3(我检查了TomWhite的参考书,它说启动hadoop 0.21应该支持这些。)

虽然可以设置子进程的VM设置(=映射器和reducer都相同->mapred.child.java.opts),但这对于我的算法来说非常不方便,因为在我的算法中,reducer必须存储一个大的hashmap,而映射器什么都不讲


可能与这个问题有关:如果设置了不受支持的环境变量,是否可能得到警告。当我设置上述变量时,可以访问它们,但它们显然不被使用/支持。(
configuration.get(…)
返回我设置的值)

如果您查看
hadoop-1.0.3/docs
文件夹,您会发现一个名为mapred\u tutorial.html的文件。 在“任务执行与环境”部分,文档告诉您使用以下内容:

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

他们更改了配置名称,因此hadoop-0.21.0中的
mapreduce.map/reduce.java.opts在较新的hadoop-1.0.3上不再工作。

非常感谢!我已经假设AWS只是不允许设置它。这将允许我为每个节点分配更多的reduce插槽和map插槽,这将大大加快我的速度!欢迎来到SO!!!