发布
社区首页 >问答首页 >Hadoop :单节点与集群性能

Hadoop :单节点与集群性能
EN

Stack Overflow用户
提问于 2013-12-28 10:34:42
回答 1查看 1.3K关注 0票数 0

我在具有3个节点(1个主节点和2个从节点)的Hadoop集群上按顺序运行三个MapReduce作业(其中一个是对另一个的输入)。

显然,单个作业在单个节点集群上完成所需的总时间比上面少了很多。可能的原因是什么?是网络延迟吗?它在100以太网上运行。如果我增加节点的数量,会有帮助吗?

我使用Hadoop流,我的代码在python2.7中。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-29 03:02:24

MapReduce并不是真正用于处理那么小的输入数据集。MapReduce框架必须确定哪些节点将运行任务,然后旋转JVM来运行每个单独的Map并减少任务(任务的数量取决于数据集的大小)。这通常有几十秒的延迟。在节点之间传送非本地数据也很昂贵,因为它涉及到通过有线发送数据。对于如此小的数据集,在分布式集群中设置MapReduce作业的开销可能高于作业本身的运行时。在单个节点上,您只看到在本地机器上启动任务的开销,而不需要通过网络进行任何数据复制,这就是为什么任务在一台机器上完成得更快的原因。如果您有多千兆字节的文件,您将看到更好的性能在几台机器上。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20813532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档