我已经配置了一个3节点集群来运行wordcount mapreduce程序。我正在使用一本书,其大小为659 kb(http://www.gutenberg.org/ebooks/20417)作为测试数据。有趣的是,在该Job的Web UI中,只涉及1个map,1个reduce和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中)
如果您要修改配置文件,请不要忘记重新启动群集以应用更改。