我在一台机器上安装了Apache spark,每个工作器有3名工作人员和2个核心。
现在我有两个火花流应用程序。第一个是用Java编写的,另一个是用python编写的。
我需要运行这两个应用程序。
当我提交第一个申请时,它会使用所有工人。当我提交第二个应用程序时,它仍然处于WAITING状态,因为没有可用的资源可以运行(据我所知)。
是否有办法为第一个应用程序仅分配两个工作程序,以便为其他应用程序留出空间?
答案 0 :(得分:1)
您应该在用于创建sparkContext
。
spark.cores.max=<value>
为每个运行的火花作业分配正确数量的核心。 请记住,如果您使用的是基于消费者的流媒体模型,则需要为您声明的每个消费者保留1个核心+为火花处理添加额外的核心。