如何同时运行2个EMR Spark步骤?

Maa*_*mon 7 amazon-emr hadoop-yarn apache-spark

我试图让2个步骤在EMR中同时运行。但是,我总是使第一步运行,第二步未完成。

我的Yarn配置的一部分如下:

{
    "Classification": "capacity-scheduler",
    "Properties": {
    "yarn.scheduler.capacity.resource-calculator": "org.apache.hadoop.yarn.util.resource.DominantResourceCalculator",
    "yarn.scheduler.capacity.maximum-am-resource-percent": "0.5"
    }
  }
Run Code Online (Sandbox Code Playgroud)

当我在本地Mac上运行时,我可以在Yarn上以类似配置运行第二个应用程序,其中的更改实际上是火花提交资源请求,以匹配所需的群集容量和性能。

换句话说,我的纱线被设置为运行多个应用程序。

因此,在深入研究之前,我想知道实际上是否可以同时执行该步骤或仅连续执行该步骤?

还有其他技巧或一些特定的建议可以同时运行吗?

关于每个作业请求,我的集群的容量过大。因此,我不明白为什么它不能同时运行。

Nav*_*tha 5

  • 是否可以使步骤同时运行或仅连续运行?

    • 由AWS支持人员确认,我们不能并行(并发)运行多个步骤,这些步骤是串行的,因此您所看到的(即处于待定状态的第二项工作)是可以预期的。
  • 是否有任何提示或特定内容可同时运行?

    • 您可以将两个spark-submit都放入一个bash脚本中并运行bash脚本,但是您可以在AWS Web控制台上删除一些直接调试信息(该imo已经很慢了),您可以在 spark-history server

On your local mac, you are able to run multiple YARN application in parallel because you are submitting the applications to yarn directly, whereas in EMR the yarn/spark applications are submitted through AWS's internal `command-runner.jar`, it does a bunch of other logging/bootstrapping etc to be able to see the `emr step` info on the web console.