2016-09-19 92 views
0

我想用纱线提交多个火花提交作业。当我运行纱线上的火花提交 - 多个作业

spark-submit --class myclass --master yarn --deploy-mode cluster blah blah

,因为它是现在,我不得不等待作业完成我提交更多的就业机会。我看到了心跳:

16/09/19 16:12:41 INFO yarn.Client: Application report for application_1474313490816_0015 (state: RUNNING) 16/09/19 16:12:42 INFO yarn.Client: Application report for application_1474313490816_0015 (state: RUNNING)

我怎么能告诉纱线从同一个终端都拿起另一份工作。最终,我希望能够从一个脚本中运行,我可以一次发送数百个作业。

谢谢。

+0

您应该可以轻松地运行它。你是否尝试过在后台运行这项工作,即'&' – tesnik03

回答

3

每个用户的纱线配置都有固定的容量。如果您分配的N个执行者(通常情况下,你将被分配的vcores一些固定数量),并且要运行100个工作岗位,你将需要指定分配给每个工作:

spark-submit --num-executors N/100 --executor-cores 5

否则,作业将循环接受。

您可以在每次调用的最后一次使用&并行启动多个作业。

for i in SEQ 20 ; do spark-submit --master yarn --num-executors N/100 --executor-cores 5 blah blah &; done

+0

谢谢@axiom是的,我得到了这部分。问题是我一次只能提交一个。例如:'''我在'seq 20'中;做火花提交 - 主持纱线等等等等; done'''一次只提交一个,而不是20,因为它正在等待spark-submit的终止信号。 – ab3

0
  • 检查动态分配火花
  • 检查什么调度与纱线使用,如果 FIFO将其更改为 FAIR
  • 你是如何规划分配资源到 N纱线上的工作数量?
+0

动态分配会很有帮助,因为您一次可以运行多个作业,应用程序需要根据群集负载重新调整其大小。 – avrsanjay

相关问题