我有7个非常大的gz文件,每个都有10G Bytes数据,而且我还有100个小的bzip2文件,每个文件只有10M字节。我在hadoop集群中有10台机器,每台机器有8个核心。 当我启动地图减少作业时,100个小bzip2文件将在1分钟内完成。 7大gz文件需要很长时间。我的问题是:为什么7 gz文件只进入一台机器,即使我有10台机器,它导致一台机器工作非常困难,其他9台机器几乎什么都不做。 我很好奇,我尝试设置mapred.tasktracker.map.tasks.maximum = 1,这意味着只有一个任务将同时在一台机器上运行,但在设置之后我仍然在一台机器上运行了7个文件,即7台映射器(jvms)同时在一台机器上运行。
请提前帮助我将7个映射器分散到7台机器而不是一台机器!
答案 0 :(得分:0)
也许这些文件位于不平衡的HDFS上,或者是一个FS的本地文件?也许您需要运行hdfs重新平衡以在群集上传播文件。