映射和减少任务的数量在 M/R 程序中没有变化



我有一个问题。我有一个从Cassandra获取输入的mapreduce程序。我的输入有点大,大约 1000000000 个数据。我的问题是我的程序处理时间太长,但我认为mapreduce对于大量数据来说是好而且快速的。所以我想也许我在地图数量和减少任务方面有问题。.我用JobConf,Job和conf/mapred-site.xml设置了map和reduce的数量,但我没有看到任何变化。在我的日志中,起初有地图 0% 减少 0%,工作大约 2 小时后,它显示地图 1% 减少 0%..!!我该怎么办?请帮助我,我真的很困惑...

请考虑以下几点以检查瓶颈可能在哪里 -

  1. 仅配置以增加映射数量或减少任务文件是行不通的。您需要硬件来支持这一点。Hadoop 速度很快,但要处理一个巨大的文件,正如你提到的您需要拥有更多数量的平行地图并减少任务运行。要实现目标,您需要更多处理器。获取更多处理器 您需要更多计算机(节点)。例如,如果您有2 台机器,每台机器有 8 个处理器,您将获得总处理能力大约 16 个。因此,总共 16 个 map 和 reduce 任务可以并行运行,一旦您拥有的 16 个插槽中的插槽被占用,下一组任务就会出现。现在,当您再添加一台具有 8 个处理器的计算机时,您现在有 24 个。

  2. 用于映射和缩减的算法。即使,你有处理能力,这并不意味着您的Hadoop应用程序将除非算法执行,否则执行。可能是这样单个地图任务需要很长时间才能完成。

相关内容

  • 没有找到相关文章

最新更新