【发布时间】:2014-09-12 18:46:04
【问题描述】:
我有 7 个非常大的 gz 文件,每个都有 10G 字节的数据,还有 100 个小的 bzip2 文件,每个只有 10M 字节。我在hadoop集群中有10台机器,每台机器有8个核心。 当我开始 map reduce 工作时,100 个小的 bzip2 文件将在 1 分钟内完成。 7个大gz文件需要很长时间。我的问题是:为什么我有10台机器,7个gz文件只到一台机器,导致一台机器工作很辛苦,而其他9台机器几乎什么都不做。 我对此很好奇,我尝试设置mapred.tasktracker.map.tasks.maximum=1,这意味着只有一个任务会同时在一台机器上运行,但设置后我仍然让7个文件在一台机器上运行,即7个映射器(jvm)同时在一台机器上运行。
请帮助我将 7 个映射器扇出到 7 台机器而不是一台机器,在此先感谢!
【问题讨论】:
-
见stackoverflow.com/questions/5630245/… Gzip 文件不可分割
-
这并不能解释为什么七个 gzip 文件不去七台机器。
标签: hadoop mapreduce bzip2 gzip