如何在Hadoop mapreduce中处理负载平衡?

时间:2013-03-08 07:56:22

标签: java apache hadoop mapreduce distributed

如何在Hadoop mapreduce中处理负载平衡?我正在编写一个分布式应用程序,其中服务器根据基准测试,可用内存,CPU内核数量,CPU使用率,可用GPU数量/使用量将作业分配给工作节点?我对mapreduce不是很有经验,并且已经在apache的网站上阅读了一些文档,但我仍然不确定如何去解决这个问题。我可以进行基准计算并获得所有这些信息,然后通过算法动态分割输入吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

“MapReduce是一种编程模型,是处理和生成大型数据集的相关实现”,是MapReduce论文摘要的摘录。

正如你在评论中所说,看起来你的项目不是数据密集型而是计算密集型,因此我认为MapReduce不是你需要使用的工具。

答案 1 :(得分:0)

MapReduce系统的性能很大程度上取决于均匀的数据分布。 Apache MapReduce框架使用简单的方法来分配工作负载,并为每个reducer分配相同数量的集群。

负载不平衡会增加处理时间,甚至可以通过减速器任务的高运行时间复杂性进行放大。需要一种自适应负载平衡策略来解决根据给定的成本模型估算分配给减速器的任务成本的问题。