Apache spark 如何在spark中同时执行多个应用程序(JAR)?

Apache spark 如何在spark中同时执行多个应用程序(JAR)?,apache-spark,spark-streaming,Apache Spark,Spark Streaming,当我尝试提交超过1个jar时,只有1个开始处理,其他的处于等待状态。之所以会发生这种情况,是因为所有工人都分配给了第一个应用程序 可用的设置(spark.cores.max)是限制jar/应用程序的内核数量,而不是工人/执行者的数量 因此,如果我创建8个工人,每个工人有4个核心,即总共32个核心 如果我的应用程序的属性spark.cores.max设置为10 cores,则它将使用所有8个具有10个core的辅助进程,即6个辅助进程上有1个core,2个辅助进程上有2个core,或者其他类似设置

当我尝试提交超过1个jar时,只有1个开始处理,其他的处于等待状态。之所以会发生这种情况,是因为所有工人都分配给了第一个应用程序

可用的设置(spark.cores.max)是限制jar/应用程序的内核数量,而不是工人/执行者的数量

因此,如果我创建8个工人,每个工人有4个核心,即总共32个核心

如果我的应用程序的属性spark.cores.max设置为10 cores,则它将使用所有8个具有10个core的辅助进程,即6个辅助进程上有1个core,2个辅助进程上有2个core,或者其他类似设置,但不包括所有辅助进程。 当我提交另一个jar时,它会一直处于等待状态,直到运行的应用程序结束

到目前为止,我正在为每个核心创建一个工人,即32个工人,这是奇数


因此,有没有办法在spark中处理这种情况,因为正因为如此,我的执行器无法正常工作,并且在一段时间后由于未知原因停止工作,或者我开始出现OOM异常。

尝试使用
--num executors
参数。请记住,例如,如果您在群集模式下向纱线提交作业,则应用程序驱动程序需要一个工人,因此您的应用程序将比您在
--num executors

中指定的多消耗一个工人,但此解决方案不起作用,它所做的是使用所有内核数较少的工人。您可以添加启动应用程序的方式吗?如果你在Mesos、Thread或local上运行它们,我会在独立模式下运行它。然后呢?还有一个问题呢?我在独立模式下运行它(没有介观,没有纱线),并使用spark-submit提交jar。请@SorabhKumar写下你的spark-submit,这样人们就可以真正帮助你了