Hadoop 在 OpenStack 之上,我可以获得哪些额外功能?

Hadoop on top of OpenStack, what extra features do I get?

我想部署一个小型数据中心用于数据分析。我将主要从 Web 应用程序获取数据。我知道我可以设置一个 hadoop 集群并根据需要扩展它。我还知道 OpenStack 是一个用于云计算的免费开源软件平台,主要部署为基础架构即服务 (IaaS)。然而,很明显,一些行业更喜欢在 OpenStack (Sahara) 之上的 hadoop。因此,我想知道有没有OpenStack的Hadoop的区别,优势和劣势。

简而言之,如果我将 Hadoop 置于 OpenStack 之上,我可以获得哪些额外功能?

Hadoop 的本意是分布式存储和计算。为了促进这一点,它最初是在开发时考虑到本地存储的商品硬件。数据将本地存储在每个服务器上,特定服务器上的数据将在本地进行处理。这个概念叫做"data locality"。

云平台通常使用网络存储,这违背了数据本地化的目的。使用网络存储,数据不再存储在本地。然而,像 "Amazon EMR" 这样的技术仍然广泛用于现收现付模型。持久化数据将存储在云中,例如 s3,但可以将数据复制到本地文件系统以在 "instance stores" 上进行处理。这是一种混合方法。在 EMR 中,如果我们每个月必须启动集群 2 天,当集群启动时,数据从 s3 复制到 HDFS(本地存储),对其进行处理,并在终止集群之前确保复制要持久化的数据回到 s3。

回到 OpenStack,它可用于概念验证,但真正的生产集群可能存在严重的性能问题。