【问题标题】:Is it always the case that Driver must be on a Master node (Yes/No) ? Apache-Spark驱动程序是否总是在主节点上(是/否)? Apache-Spark
【发布时间】:2015-05-07 22:38:37
【问题描述】:

Driver(作为运行主节点的程序)是否总是必须在主节点上?

例如,如果我用一个 master 和两个 worker 设置 ec2,我的具有 main 的代码是否必须从 master EC2 实例执行?

如果答案是否定的,那么设置驱动程序位于 ec2 主节点之外的系统的最佳方法是什么(假设驱动程序是从我的计算机上运行的,而主服务器和工作人员在 EC2 上)? 我是否总是必须使用 spark-submit,还是可以从 Eclipse 或 IntelliJ IDEA 等 IDE 中使用?

如果答案是肯定的,那么了解更多信息的最佳参考是什么(因为我需要提供某种证明)?

感谢您的回答,我们将不胜感激!

【问题讨论】:

    标签: amazon-web-services amazon-ec2 apache-spark master-slave


    【解决方案1】:

    不,它不必在主服务器上。

    使用spark-submit,您可以使用deploy-mode 来控制驱动程序的运行方式(作为client,在您运行提交的机器上(可以是主计算机或其他计算机),或作为cluster,对工人)。

    工作人员和司机之间存在network communication,因此您希望它“靠近”工作人员,而不是跨越 WAN。

    您可以run from inside 一个可以从您的IDE 访问的repl (spark-shell)。如果您使用像 Clojure 这样的动态语言,您也可以创建一个 SparkContext 引用(通过 master)一个本地集群,或者您想要将作业放入的集群,然后通过 repl 进行编码。实际上,这并不容易。

    【讨论】:

    • 谢谢。如何设置系统以避免 spark-submit,但只需从 Eclipse 或 IntelliJ IDEA 等 IDE 执行与 spark-submit 相同的操作?
    • @elisah,谢谢。我希望这适用于集群和客户端模式。任何参考资料(只是为了给我的老板看工作)?
    • 更新了答案以明确引用问题的运行部分。
    • @Alister Lee,我尝试了 repl 选项,并成功编译了代码。但是,它不适用于 EC2,在主节点之外有驱动程序......所以你是对的,它并不像看起来那么容易。
    猜你喜欢
    • 2016-04-28
    • 1970-01-01
    • 2017-01-04
    • 2020-01-03
    • 2021-03-22
    • 1970-01-01
    • 2015-10-08
    • 2019-12-20
    • 1970-01-01
    相关资源
    最近更新 更多