我尝试在 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
我看到我的一个节点正在工作,但另一个节点没有,所以这是不平衡的:
注意:左侧是namenode
,datanode
位于右侧......
任何想法?
答案 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)