为什么在Hadoop作业中只使用1个map和1个reduce任务和1个节点?

时间:2013-12-04 02:01:25

标签: hadoop mapreduce bigdata

我已经配置了一个3节点集群来运行wordcount mapreduce程序。我正在使用一本书,其大小为659 kb(http://www.gutenberg.org/ebooks/20417)作为测试数据。有趣的是,在该Job的Web UI中,只涉及1个map,1个reduce和1个节点。我想知道这是因为数据量太小。如果是,我可以手动设置将数据拆分为多个节点上的不同映射吗?

谢谢, 艾伦

1 个答案:

答案 0 :(得分:2)

默认块大小为64 MB。所以,是的,框架确实只分配了一种任务,因为输入数据较小。

1)您可以提供超过64 MB的输入数据,看看会发生什么。

2)更改特定于mapreduce作业的mapred.max.split.size的值 (在mapred-site.xml中或使用-D mapred.max-split.size=noOfBytes运行作业) 或

3)更改具有更全局范围的dfs.block.size的值并适用于所有HDFS。 (在hdfs-site.xml中)

如果您要修改配置文件,请不要忘记重新启动群集以应用更改。