mahout seqdirectory mapreduce只得到一个map任务

2exbekwf  于 2021-06-03  发布在  Hadoop
关注(0)|答案(0)|浏览(193)

我想有更多的Map任务,以增加并行的 Mahout seqdirectory 工作。但每次我尝试,它只创建一个Map任务。
hadoop版本:1.2.1
mahout版本:0.8/0.9(已测试,两个版本都不适用于更多Map任务)
场景:许多小文件(大约566114个kb的文件)存储在hdfs中
在遇到这个问题(总是一个map任务)之前,我遇到了另一个问题(超出了gc开销限制)。因此,我设置了更多的内存来解决它。
当我发现只有一个map任务正在生成时,我配置了hadoop配置文件( mapred-site.xml , hadoop-env.sh ...). 我准备好了 mapred.map.tasks20mapred-site.xml . 这没用。
我发现,map任务的数量是由块的数量决定的。在我的例子中,文件的总大小超过500MB(比默认的块大小64MB大)。我深入研究了mahout源代码(v0.9)。我没有找到任何解决办法。
另外,由于我怀疑问题可能是因为小文件,所以我创建了两个大文件(2500 mb文件),并使用 seqdirectory 命令。但是,仍然只有一个map任务启动。
我不知道怎么解决这个问题。有hadoop和mahout知识的人能帮我吗?
注意,我发现有人参与了这个项目。注意,作为mahout-833,我正在跟踪mahout 0.9源代码中的sequencefilefromdirectory.java,请尝试找出原因。
这是我的配置信息:作业配置文件,hadoop配置文件(mapred-site.xml,hadoop env.sh)

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题