4

我有一个关于在单台机器上使用多个虚拟化节点与在单台机器本身上使用单节点的速度和性能的问题。

哪一个会表现更好?

之所以问这个问题,是因为我目前是在单机上学习hadoop,在网上看到一些教程展示了在单机上使用多个虚拟化节点。

先感谢您

4

2 回答 2

4

虚拟化总是有一些开销,所以除非真的有必要,否则我不建议在虚拟化环境中运行 Hadoop。

话虽如此,我知道 VMWare 在使 Hadoop 在虚拟化环境中工作方面做了很多工作,并且他们已经发布了一些基准,他们声称在某些条件下,VM 的性能优于原生应用程序。我对 vSphere 的使用不多,但是如果您想进一步探索虚拟化,这可能是值得一看的。但不要认为这些数字是理所当然的,这实际上取决于您运行的硬件类型,因此在某些情况下,我认为您可能会通过虚拟机获得一些性能,但我从经验中猜测,在大多数情况下您会赢什么都得不到。

如果您刚刚开始使用 Hadoop 进行测试,我认为虚拟化是多余的。您可以非常轻松地在伪分布式模式下运行 Hadoop,这意味着您可以在同一个机器上运行多个 Hadoop 守护程序,每个守护程序作为一个单独的进程。这就是我开始使用 Hadoop 的方式,这是一个良好的开端。您可以在此处找到更多信息(或者可能需要另一个页面,具体取决于您运行的 Hadoop 版本)。

如果您想使用真实集群进行测试,但没有资源,我建议您查看 Amazon Elastic Map/Reduce:它可以按需提供集群,而且非常便宜。这样您就可以进行更高级的测试。更多信息在这里

底线是,我认为如果目的只是测试,你真的不需要虚拟集群。

于 2013-02-18T06:39:20.543 回答
1

针对该主题进行的性能分析案例研究表明,与原生 Hadoop 集群相比,虚拟 Hadoop 集群的效率仅低 4% 左右:Virtualized hadoop performance case study

于 2013-02-18T06:39:41.733 回答