0

我已经在相同的 hdfs 之上建立了一个 3 节点的 hadoop 集群(1 个 Namenode,2 个数据节点)和 hbase。每个节点都是在我的 windows 8 机器上运行的 512 MB Ubuntu Virtual box 映像(Intel i5,4GB RAM,2.4Ghz)
我已经根据这个博客 http://ankitasblogger.blogspot.in/2011/01/hadoop配置了 hbase-hadoop -cluster-setup.html

我编写了一个程序,它分析美国人口普查数据,大约有 500,000 条记录(缩减集)。我只是在 MAP 任务中读取文件(来自 hdfs)并将其存储为 HBASE 。稍后根据过滤器检索数据。

当我在独立(512 MB 虚拟机)hadoop-hbase 中运行程序时,大约需要 23 分钟。但是当我在集群(512*3 MB)中运行同一个 jar 时,需要 40 分钟以上。

为什么集群需要更多时间来处理?还是预期的结果?

4

1 回答 1

1

在虚拟机中运行集群只会减慢您的 map-reduce(因为运行虚拟操作系统和多个 hadoop 实例的开销),特别是如果您的内存不足并且它必须使用主机操作系统的交换。

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

于 2013-02-21T19:19:58.443 回答