我读过几篇文章,暗示 Hadoop 仅设计用于在单个物理位置的集群上工作,而不是用于许多广泛分布的节点(例如,在 Internet 上从多个站点运行分布式集群)。
有没有人有任何尝试跨多个站点使用 Hadoop 的真实经验?我会遇到什么样的问题?还是我最好只使用不同的框架(例如 BOINC)。
我读过几篇文章,暗示 Hadoop 仅设计用于在单个物理位置的集群上工作,而不是用于许多广泛分布的节点(例如,在 Internet 上从多个站点运行分布式集群)。
有没有人有任何尝试跨多个站点使用 Hadoop 的真实经验?我会遇到什么样的问题?还是我最好只使用不同的框架(例如 BOINC)。
如果在一组相对本地的节点上执行与在一组广泛分布的节点上执行之间有任何区别,那将是在节点之间来回移动大量数据所需的时间增加。如果您遇到涉及处理、聚合和连接大量数据的问题,那么您必然会在节点之间发送大量数据。这意味着无论您选择什么平台(hadoop、storm 等),您都必须处理这个问题。BOINC 或其他一些基于志愿者的系统可能更便宜,但您的实施仍然会受到高额数据传输成本的影响。此外,您可能会在混合中引入节点异构性,这将使您的实现在开发和调试方面更加有趣。
顺便说一句,hadoop 和 BOINC 是两种截然不同的动物,它们解决了截然不同的问题。