【问题标题】:Hadoop Processing time in clustered and standalone system集群和独立系统中的 Hadoop 处理时间
【发布时间】:2013-02-22 03:19:58
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ubuntu hadoop hbase distributed-computing


    【解决方案1】:

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

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

    【讨论】:

    • 我有 3 个虚拟机在运行,它们都共享 1 个 CPU?还是每个 VBox 都使用一个物理 CPU?
    • 无论您的机器有多少 CPU,使用虚拟机进行基准测试都是不好的做法。此外,您的程序在分布式模式下速度较慢是完全正常的,尤其是由于网络通信造成的开销。
    • @Xion345。虽然是真的,但问题与最佳实践无关。我只是想直接回答这个问题。
    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-11
    相关资源
    最近更新 更多