【发布时间】:2018-04-13 02:47:25
【问题描述】:
启用 Spark 动态资源分配后,所有资源都会分配给第一个可用的提交作业,从而导致后续应用程序排队。为了允许应用程序并行获取资源,请将资源分配给池并在这些池中运行应用程序,并使运行在池中的应用程序被抢占。
我自己也观察到了这种行为,但是我目前正在处理一个只有 2 个节点(EMR 上的 m3.xlarge)和 1 个主节点(r3.xlarge)的小型集群。我看到的是,如果我提交多个 spark 应用程序(对 spark-submit 的不同调用),当我在 EMR 上查找我的资源管理器时,所有应用程序都被接受,但一次只有一个运行。
现在这可能是因为我正在读取大约 2GB 的文件并且我的资源已用完。我还尝试使用 Spark 中现有的 pi.py 示例进行一些 spark-submit 调用。在这种情况下,我可以看到多个处于运行状态的作业。
鉴于此,Cloudera 文档是正确的还是具有误导性?如果我有一个更大的集群,我会看到多个应用程序并行运行吗?
【问题讨论】:
标签: hadoop apache-spark amazon-ec2 hadoop-yarn amazon-emr