我可以指定某台机器作为纱线火花的驱动器吗?

时间:2017-12-12 08:55:10

标签: apache-spark yarn

问题正是标题中指定的内容。

我想在192.168.1.1上启动我的驱动程序,但实际上当我将我的火花应用程序提交给纱线时,纱线将选择随机机器作为我的应用程序的驱动程序。

我可以在纱线群集模式下手动选择驱动程序吗? 这个重复的问题不适用于纱线。

2 个答案:

答案 0 :(得分:2)

像Yaron之前回复的那样,YARN作为主人有两种选择:

  • 客户

如果选择群集模式,则根据纱线中的资源可用性,让纱线管理生成驱动程序的位置。如果选择客户端模式,则会在运行spark-submit的服务器上的客户端进程中生成驱动程序。

因此,您的问题的解决方案应该是运行命令  spark-submit --master yarn --deploy-mode client ... 在您希望驱动程序打开的计算机上。 确保:

  • 机器具有托管驱动程序的资源,
  • 您想要提供给驱动程序的资源也不会提交给Yarn
  • 该计算机上有一个Spark网关(用于CM)角色

答案 1 :(得分:0)

如果您想使用特定计算机作为驱动程序,则应使用YARN Client mode

SPARK docs - launching spark on yarn

  

有两种部署模式可用于启动Spark   YARN上的应用程序。在集群模式下,Spark驱动程序在内部运行   由YARN在集群上管理的应用程序主进程,   并且客户端可以在启动应用程序后离开。在客户端   模式,驱动程序在客户端进程和应用程序中运行   master仅用于从YARN请求资源。

YARN Client模式下 - 驱动程序在客户端进程中运行(您可以选择驱动程序计算机,它是执行spark-submit命令的计算机)

YARN Cluster模式下 - Spark驱动程序在应用程序主进程内运行,该进程由群集上的YARN管理。