我知道这方面的信息值得 10 个谷歌页面,但是,所有这些信息都告诉我只需--master yarn
输入spark-submit
命令。但是,在集群模式下,我的本地笔记本电脑怎么可能知道这意味着什么?假设我有我的笔记本电脑和一个正在运行的 dataproc 集群。如何使用笔记本电脑上的 spark-submit 向该集群提交作业?
问问题
58 次
1 回答
2
大多数关于在集群模式下运行 Spark 应用程序的文档都假设您已经在配置 YARN/Hadoop 的同一个集群上(例如,您是 ssh'ed),在这种情况下,大多数情况下 Spark 会选择适当的本地配置和“正常工作”。
Dataproc 也是如此:如果您通过 ssh 连接到 Dataproc 主节点,则只需运行spark-submit --master yarn
. 可以在文档中找到更详细的说明。
如果您尝试在笔记本电脑上本地运行应用程序,这将更加困难。您需要设置一个到集群的ssh 隧道,然后在本地创建配置文件,告诉 Spark 如何通过隧道到达主服务器。
或者,您可以使用Dataproc 作业 API将作业提交到集群,而无需直接连接。需要注意的是,您必须使用属性来告诉 Spark 在集群模式而不是客户端模式下运行 ( --properties spark.submit.deployMode=cluster
)。请注意,通过 Dataproc API 提交作业时,客户端模式和集群模式之间的区别要小得多,因为无论哪种情况,Spark 驱动程序都将实际运行在集群上(分别在主节点或工作节点上),而不是在本地笔记本电脑上。
于 2022-01-07T19:52:39.290 回答