2016-09-19 103 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

相關問題