2013-02-21 43 views
0

我已经设置了3节点Hadoop集群(1的Namenode,2点数据的节点)和HBase的同一HDFS的顶部。每个节点都在我的基础上这个博客 http://ankitasblogger.blogspot.in/2011/01/hadoop-cluster-setup.html
Hadoop的处理时间在集群和独立系统

我写了一个程序的Windows 8机(英特尔i5,4GB内存,2.4GHz的)
我已经配置的HBase,Hadoop的运行512个MB的Ubuntu虚拟框图像,它分析了大约有500,000条记录(缩减集)的美国人口普查数据。我只是在MAP任务中读取文件(来自hdfs)并将其存储为HBASE。并稍后根据过滤器检索数据。

当我在一个独立运行的程序(512 MB虚拟机)Hadoop的HBase的,它需要约23分钟。但是当我在集群中运行同一个jar(512 * 3 MB)时,它需要花费40分钟以上。

为什么簇花更多的时间来处理?或者它是预期的结果?

回答

1

运行在虚拟机只会拖慢你的map-reduce(因为从运行虚拟操作系统和多种的Hadoop实例的开销),特别是如果你耗尽内存集群,它有使用swap从主机操作系统。

记住的虚拟机都共享1个物理CPU,且只能用于开发。

+0

我有3虚拟盒子运行,他们都共享1个CPU?或者每个VBox会使用物理CPU? – 2013-02-22 08:50:09

+0

你的电脑有多少个物理CPU? – Josh 2013-02-22 23:04:32

+0

无论您的计算机有多少个CPU,使用虚拟机进行基准测试都是不好的做法。此外,分布式模式下程序速度较慢是非常正常的,特别是由于网络通信造成的开销。 – Xion345 2013-02-23 15:46:34

相关问题