Spark Streaming 应用程序使用所有 worker

Spark Streaming application uses all the workers

我在一台机器上安装了 Apache spark,该机器有 3 个工作人员,每个工作人员有 2 个内核。

现在我有两个火花流应用程序。第一个写在Java,另一个写在python。

我需要运行这两个应用程序。

当我提交第一个申请时,它使用了所有的工人。当我提交第二个申请时,它仍然处于 WAITING 状态,因为 运行 没有可用资源(据我所知)。

有没有办法只为第一个应用程序分配两个工人,以便为另一个应用程序留下 space?

您应该在用于创建 sparkContext.

的 spark 配置中设置以下配置 属性
spark.cores.max=<value>

为每个 spark 作业分配正确数量的核心 运行。 请记住,如果您使用的是基于消费者的流模型,则需要为您声明的每个消费者保留 1 个核心 + 用于 spark 处理的额外核心。