【问题标题】:How are spark jobs submitted in cluster mode?集群模式下如何提交spark作业?
【发布时间】:2022-01-11 01:25:14
【问题描述】:

我知道这方面的信息值得 10 个谷歌页面,但他们都告诉我只需将 --master yarn 放在 spark-submit 命令中。但是,在集群模式下,我的本地笔记本电脑怎么可能知道这意味着什么?假设我有我的笔记本电脑和一个正在运行的 dataproc 集群。如何使用笔记本电脑上的 spark-submit 向此集群提交作业?

【问题讨论】:

    标签: apache-spark pyspark google-cloud-dataproc spark-submit dataproc


    【解决方案1】:

    大多数关于在集群模式下运行 Spark 应用程序的文档都假设您已经在配置 YARN/Hadoop 的同一个集群上(例如,您已通过 ssh 接入),在这种情况下,大多数情况下 Spark 会选择设置适当的本地配置并“正常工作”。

    Dataproc 也是如此:如果您通过 ssh 连接到 Dataproc 主节点,则只需运行 spark-submit --master yarn。更多 detailed instructions 可以在文档中找到。

    如果您尝试在笔记本电脑上本地运行应用程序,这将更加困难。您需要为集群设置一个ssh tunnel,然后在本地设置create configuration files,告诉 Spark 如何通过隧道到达主服务器。

    或者,您可以使用Dataproc jobs API 将作业提交到集群,而无需直接连接。需要注意的是,您必须使用属性来告诉 Spark 在集群模式而不是客户端模式下运行 (--properties spark.submit.deployMode=cluster)。请注意,通过 Dataproc API 提交作业时,客户端模式和集群模式之间的区别要小得多,因为无论哪种情况,Spark 驱动程序都将实际运行在集群上(分别在主节点或工作节点上),而不是在本地笔记本电脑上。

    【讨论】:

    • 谢谢!这回答了我的问题。 Dataproc 提交很好,但它不允许我在客户端模式下设置驱动程序环境变量
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-20
    • 2019-05-30
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2016-11-06
    • 1970-01-01
    相关资源
    最近更新 更多