运行spark submit,但不平衡(只有1个节点工作)

8yoxcaq7  于 2021-05-29  发布在  Hadoop
关注(0)|答案(3)|浏览(516)

我尝试在yarn集群(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 在右边。。。
你知道吗?

zzoitvuj

zzoitvuj1#

您可以检查从spark ui启动执行器的节点
spark ui提供了启动执行的节点的详细信息
executor是spark ui中的选项卡

xqkwcwgp

xqkwcwgp2#

完整的数据集可能是其中一个节点的本地数据集,因此它可能试图遵守数据的本地性。您可以在启动spark submit时尝试以下配置
--conf“spark.locality.wait.node=0”
我也一样。

2q5ifsrm

2q5ifsrm3#

您正在运行作业 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

相关问题