如何在YARN集群中的特定节点上启动Spark的ApplicationMaster?

Spo*_*rty 4 hadoop-yarn apache-spark

我有一个YARN集群,其中一个主节点运行资源管理器和另外两个节点.我能够以"纱线群集"模式从客户端机器提交火花应用程序.有没有办法可以配置集群中的哪个节点启动Spark应用程序主服务器?

我问这个是因为如果应用程序主服务器在主节点中启动它工作正常,但如果它在其他节点启动我得到这个:

重试连接到服务器:0.0.0.0/0.0.0.0:8030.

而这项工作只是被接受而且从不运行

Den*_*Huo 6

如果您使用的是足够新版本的YARN(2.6或更新版本,根据Spark文档),您可以在YARN中使用节点标签.

本Hortonworks指南介绍了如何将节点标签应用于YARN NodeManagers.

如果您使用Spark 1.6或更高版本,则此JIRA添加了对在Spark中使用YARN节点标签的支持; 然后,您只需传递spark.yarn.am.nodeLabelExpression以限制AppMaster节点放置,如果您需要,则spark.yarn.executor.nodeLabelExpression执行器放置.