Spark Streaming应用程序使用所有worker

时间:2016-04-18 08:12:28

标签: java python apache-spark spark-streaming

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

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

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

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

是否有办法为第一个应用程序仅分配两个工作程序,以便为其他应用程序留出空间?

1 个答案:

答案 0 :(得分:1)

您应该在用于创建sparkContext

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

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