在YARN上运行Spark-Submit但是不平衡(只有1个节点正在运行)

时间:2016-08-18 10:07:58

标签: hadoop apache-spark cluster-computing yarn

我尝试在 YARN-CLUSTER(2个节点)上运行 Spark应用,但似乎这2个节点是不平衡的,因为只有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 注意:左侧是namenodedatanode位于右侧......

任何想法?

3 个答案:

答案 0 :(得分:1)

完整的数据集可能是其中一个节点的本地数据集,因此可能会尝试遵循数据位置。 您可以在启动 spark-submit

时尝试以下配置

- conf“spark.locality.wait.node = 0”

同样适合我。

答案 1 :(得分:0)

您正在以yarn-cluster模式运行作业,在集群模式下Spark驱动程序在集群主机上的ApplicationMaster中运行

尝试在yarn-client模式下运行它,在客户端模式下Spark驱动程序在提交作业的主机上运行,​​因此您将能够在控制台上看到输出

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

答案 2 :(得分:0)

您可以检查执行程序从SPARK UI启动的节点

Spark UI提供了启动执行的节点的详细信息

Executor是Spark UI中的TAB

enter image description here