【发布时间】:2019-11-15 19:53:14
【问题描述】:
我一直了解 Spark shell,无论是 PySpark 还是 Scala,都在客户端模式下运行。如果我错了,请纠正我,没有开箱即用的配置可以在集群模式下使用它们。
为什么会这样?是什么让集群模式不适合这些交互式 shell?
客户端和驱动程序之间的网络延迟可能是一个因素。如果使用 YARN,初始启动时间可能会更长,因为驱动程序的集群资源需要从 YARN 资源管理器中提供。但在我看来,这两个因素并不是严重的阻碍因素。
编辑
问题Spark-submit / spark-shell > difference between yarn-client and yarn-cluster mode 是相关的,但没有关注(并且答案没有涵盖)为什么shell 不能在集群模式下运行。
pyspark --deploy-mode cluster
Error: Cluster deploy mode is not applicable to Spark shells.
【问题讨论】:
-
@mazaneicha 这个问题是相关的,但它没有关注(并且答案没有涵盖)为什么 shell 不能在集群模式下运行。如果你碰巧知道,你能在答案中解释一下吗?
-
Shell 需要在您的(客户端)机器上运行才能接受输入。我认为得分最高的答案很清楚。
-
@mazaneicha 您说“Shell 需要在您的(客户端)机器上运行才能接受输入。”我认为这不能解决问题。它只是指出 shell 接受输入,这是众所周知的事实。你能进一步详细说明吗?一些 Jupyter PySpark 内核在集群模式下运行,但也是交互式的。
标签: apache-spark hadoop pyspark hadoop-yarn spark-shell