【发布时间】:2016-01-18 23:39:23
【问题描述】:
我正在使用 YARN 运行 Spark。
来自链接:http://spark.apache.org/docs/latest/running-on-yarn.html
我找到了不同纱线模式的解释,即 --master 选项,Spark 可以使用该选项运行:
"有两种部署模式可用于在 YARN 上启动 Spark 应用程序。在 yarn-cluster 模式下,Spark 驱动程序运行在集群上由 YARN 管理的应用程序主进程中,客户端可以离开启动应用后。在yarn-client模式下,驱动运行在客户端进程中,应用master只用于向YARN请求资源"
在此,我只能理解驱动程序在哪里运行,但我无法理解哪个运行得更快。更何况:
- 在运行 Spark-submit 的情况下,--master 可以是 client 或 cluster
- 对应Spark-shell的master选项可以是yarn-client但是不支持cluster模式
所以不知道怎么选择,即什么时候用spark-shell,什么时候用spark-submit,特别是什么时候用client模式,什么时候用cluster 模式
【问题讨论】:
-
看看这个related answer