我知道有相当于10个谷歌页面的信息,但所有这些信息都告诉我只需将--master yarn
放在spark-submit
命令中。但是,在集群模式下,我的本地笔记本电脑怎么能知道这意味着什么?假设我有我的笔记本电脑和一个正在运行的dataproc集群。如何使用笔记本电脑上的spark submit向该集群提交作业?
大多数关于在集群模式下运行Spark应用程序的文档都假设您已经在配置YARN/Hoop的同一个集群上(例如,您被ssh’ed in(,在这种情况下,Spark大多数时候都会选择适当的本地配置并;只是工作";。
对于Dataproc也是如此:如果您ssh到Dataproc主节点上,那么您就可以运行spark-submit --master yarn
。更详细的说明可以在文档中找到。
如果你试图在笔记本电脑上本地运行应用程序,这会更加困难。您需要设置一个到集群的ssh隧道,然后在本地创建配置文件,告诉Spark如何通过隧道到达master。
或者,您可以使用Dataproc作业API将作业提交到集群,而无需直接连接。需要注意的是,您必须使用属性来告诉Spark以集群模式而不是客户端模式(--properties spark.submit.deployMode=cluster
(运行。请注意,当通过Dataproc API提交作业时,客户端模式和集群模式之间的差异要小得多,因为无论在哪种情况下,Spark驱动程序都将实际在集群上运行(分别在主节点或辅助节点上(,而不是在本地笔记本电脑上运行。