我尝试在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
在右边。。。
你知道吗?
3条答案
按热度按时间zzoitvuj1#
您可以检查从spark ui启动执行器的节点
spark ui提供了启动执行的节点的详细信息
executor是spark ui中的选项卡
xqkwcwgp2#
完整的数据集可能是其中一个节点的本地数据集,因此它可能试图遵守数据的本地性。您可以在启动spark submit时尝试以下配置
--conf“spark.locality.wait.node=0”
我也一样。
2q5ifsrm3#
您正在运行作业
yarn-cluster
模式,在群集模式下,spark驱动程序在群集主机上的applicationmaster中运行试着把它放进去
yarn-client
模式,在客户机模式下,spark驱动程序在提交作业的主机上运行,所以您可以在控制台上看到输出