管理资源以在同一集群上运行多个Spark应用程序

时间:2018-11-30 23:58:12

标签: apache-spark yarn amazon-emr

我正在尝试在同一集群上运行两个spark应用程序。 YARN是正在使用的资源管理器。我的两个Spark应用程序都使用动态分配。

当我启动第一个应用程序时,它将用尽群集上的所有资源。当我启动第二个应用程序时,YARN不会为其分配任何资源,因为第一个应用程序正在使用它们。第一个应用程序完成后,便只能再运行第二个应用程序。

同时运行两个应用程序的方式是什么?我知道我可以在启动每个应用程序之前手动为其分配特定数量的资源,但是这对我来说似乎不是一个好的解决方案。我在AWS EMR上使用Hue / Oozie来运行spark应用程序。理想情况下,我希望能够为每个应用程序分配最大百分比的群集资源的解决方案。

1 个答案:

答案 0 :(得分:0)

您必须以公平的份额调度方式(read more here)配置YARN。通常,Hadoop生态系统是共享系统,并且可以基于项目或应用程序优先级进行配置,可以对YARN进行配置,以使所有应用程序都具有相同的优先级,或者它们可以公平地使用容器。如果您未进行任何配置,它将使用默认值(FIFO),并基于可用的容器。