为什么 Hadoop 作业在云中(使用多节点集群)比在普通 PC 上慢?

Why is the Hadoop job slower in cloud (with multi-node clustering) than on normal pc?

我正在使用 Cloud Dataproc 作为我研究的云服务。 运行 此平台(云)上的 Hadoop 和 spark 作业比 运行 低容量虚拟机上的相同作业慢一点。我是 运行 我在云上的 3 节点集群(每个都有 7.5GB RAM 和 50GB 磁盘)上的 Hadoop 作业花费了 4 分钟 49 秒,而同样的作业在具有 3GB 的单节点虚拟机(我的电脑)上花费了 3 分钟 20 秒RAM 和 27GB 磁盘。为什么在多节点集群的云中结果比在普通 pc 上慢?

首先: 在不知道您的 运行ning.

的完整配置和工作类型的情况下不容易回答

可能的原因是:

  1. 配置错误

http://HOSTNAME:8080 打开 ressourcemanager webapp 并比较可用的 vcores 和内存

  1. 工作类型

作业在运行并行化时增加了更多开销,因此速度较慢

  1. 硬件 选定的虚拟硬件比本地硬件慢。尽管磁盘 io 和网络开销较低

我会说它类似于 1. 和 2.

要获得更详细的答案,请告诉我:

  • 工作的规模和类型以及你如何运行它。
  • hadoop 配置
  • 云架构

br

在这里更详细一点 numbers/facts 找出 "slower" 云环境的原因很有趣:

  1. 工作类型及规模:

    • 数据大小 1mb 或 1TB
    • xml , 实木复合地板 ....
    • 什么样的过程(例如字数统计、格式更改、ml、....) 当然还有您的 spark-submit 或 spark-shell
    • 的选项(executors 和 drivers )
  2. Hadoop 配置:

    • 您使用发行版(hortonworks 还是 cloudera?)
    • spark 独立或纱线模式
    • 节点管理器是如何配置的