我对速度和速度有疑问的表演 在单个机器上使用多个虚拟化节点在单个机器上使用单个节点。
哪一个会表现更好?
我之所以提出这个问题的原因是因为我目前正在学习一台机器上的hadoop,而且我在互联网上看到了一些教程,这些教程展示了在一台机器上使用多个虚拟化节点。
提前谢谢
答案 0 :(得分:4)
虚拟化总会带来一些开销,所以除非真的有必要,否则我不建议在虚拟化环境中运行Hadoop。
话虽这么说,我知道VMWare在使Hadoop在虚拟化环境中工作方面做了大量工作,他们发布了some benchmarks,他们声称在某些条件下可以使用本机应用程序的VM获得更好的性能。我没有在vSphere上玩过多少,但如果你想进一步探索虚拟化,可能需要考虑这个问题。但是不要把这些数字视为理所当然,这实际上取决于你所运行的硬件类型,所以在某些情况下我认为你可能会获得一些VM的性能,但我猜测从大多数情况下你获胜的经验什么都没有。
如果您刚刚开始使用Hadoop进行测试,我认为虚拟化是过度的。您可以非常轻松地以伪分布式模式运行Hadoop,这意味着您可以在同一个盒子上运行多个Hadoop守护程序,每个守护程序作为一个单独的进程。这就是我以前用Hadoop开始的,这是一个很好的开端。您可以找到更多信息here(或者可能需要其他页面,具体取决于您正在运行的Hadoop版本)。
如果你想要使用真正的集群进行测试,但没有资源,我会建议查看Amazon Elastic Map / Reduce:它可以按需提供集群,而且非常便宜。这样你就可以进行更高级的测试。更多信息here。
最重要的是,我认为如果目的只是测试,那么你真的不需要虚拟集群。
答案 1 :(得分:1)
针对该主题进行的性能分析案例研究表明,虚拟Hadoop集群的效率仅比其本地集群低约4%:Virtualized hadoop performance case study