目前来说,standalone集群对于同时提交上来的多个作业,仅仅支持FIFO调度策略,也就是先入先出
默认情况下,集群对多个作业同时执行支持是不好的,没有办法同时执行多个作业
因为先提交上来的每个作业都会尝试使用集群中所有可用的cpu资源,此时相当于就是只能支持作业串行起来,一个一个运行了
此时,如果我们希望能够支持多作业同时运行,那么就需要调整一些资源参数
我们可以设置spark.cores.max参数,来限制每个作业能够使用的最大的cpu core的数量,这样先提交上来的spark作业就不会使用所有的cpu资源,后面提交上来的application也可以同时并行运行了
使用sparkConf或spark-submit中的--conf标识,设置参数即可
。set("spark.cores.max","10")
--conf spark.cores.max=10