2016-08-18 75 views
4

我嘗試在YARN-CLUSTER(2節點)運行星火應用但似乎那些2個節點的不平衡,因爲只有1個節點工作但另一個不是。運行火花提交(只有1個節點工作)

我的腳本:

spark-submit --class org.apache.spark.examples.SparkPi 
--master yarn-cluster --deploy-mode cluster --num-executors 2 
--driver-memory 1G 
--executor-memory 1G 
--executor-cores 2 spark-examples-1.6.1-hadoop2.6.0.jar 1000 

我看到的是工作的我的節點之一,但另一個不是,所以這是不平衡的:

enter image description here 注:左邊是namenode,並datanode是正確的...

任何想法?

回答

0

您正在運行作業yarn-cluster模式,在集羣模式星火驅動程序運行在ApplicationMaster羣集主機

嘗試在yarn-client模式下運行它,在客戶端模式星火驅動程序上運行,其中作業提交主機,這樣你就可以看到控制檯輸出

spark-submit --verbose --class org.apache.spark.examples.SparkPi \ 
--master yarn \ 
--deploy-mode client \ 
--num-executors 2 \ 
--driver-memory 1G \ 
--executor-memory 1G \ 
--executor-cores 2 spark-examples-1.6.1-hadoop2.6.0.jar 10 
+0

但是我想在羣集模式下運行它 – anunixercoder

+0

如果你只是想看到輸出,你可以在紗線日誌中使用「紗線日誌-applicationId <紗線應用程序ID>」來看它。您還可以修改SparkPi並將輸出存儲在HDFS或某些數據庫中。 – banjara

+0

如何找到applicationId? – anunixercoder

0

您可以檢查哪個節點上執行從SPARK UI的推出

星火UI給人節點的詳細信息,其中執行AR Ë推出

執行人是Spark的UI選項卡

enter image description here

1

的全部數據集可以是本地的節點之一,因此,它可能會試圖兌現數據局部性。 你可以試試下面的配置同時發動火花提交

--conf 「spark.locality.wait.node = 0」

同樣爲我工作。