在尝试Hadoop权威指南(第四版) 6.5.2 在集群上运行mapreduce任务时出现错误:
,
错误原因比较明显,是因为申请的资源超出限制, 解决方式就是配置任务申请的内存.
尝试了两种方法都可以.
- 1.在手动指定的配置文件hadoop-cluster.xml中配置.
<property>
<name>mapreduce.map.memory.mb</name>
<value>512</value>
</property>
运行命令:
hadoop jar hadoop-examples.jar v2.MaxTemperatureDriver -conf hadoop-cluster.xml hdfs:///input/ncdc/all hdfs:///tmp/max-temp
- 2.在命令行中显式指定.
hadoop jar hadoop-examples.jar v2.MaxTemperatureDriver -Dmapreduce.map.memory.mb=512 -Dmapreduce.reduce.memory.mb=512 -conf hadoop-cluster.xml hdfs:///input/ncdc/all hdfs:///tmp/max-temp
注意此处我试了一下只指定mapreduce.map.memory.mb一个是没有效果的, 要同时指定mapreduce.map.memory.mb和mapreduce.reduce.memory.mb才生效, 但是第一种方法确只需要指定mapreduce.map.memory.mb一个就生效了(weird).