是不是总是驱动程序(如运行在主节点程序)必须是主节点的情况下?
例如,如果我安装一个主机和两个工人的EC2,做我的代码已经主必须从主EC2实例执行?
如果答案是否定的,这将是对建立系统所在的驱动器是EC2的主节点外的最佳方式(可以说,司机是从我的电脑运行,而法师和工人都在EC2)? 我总是用火花提交,或我能做到这一点从IDE,比如Eclipse或IntelliJ IDEA的?
如果答案是肯定的,这将是最好的参考,以更多地了解它(因为我需要提供某种证明的)?
衷心感谢你的回答,引用将不胜感激!
不,它并不一定是在主。
使用spark-submit
您可以使用部署模式来控制您的驱动器运行(作为client
,运行提交(可以是主或其他机器)上,或作为cluster
,在工人)。
有网络通信的工人,让您随心所欲地“关闭”给工人,从来没有跨广域网的驱动程序之间。
您可以从内部运行一个REPL( spark-shell
可能从你的IDE访问)。 如果您在使用例如Clojure动态语言,你也可以创建一个SparkContext
引用(通过master
通过REPL)本地集群,或者你想要把工作的群集,然后代码。 实际上,这不是很容易。
文章来源: Is it always the case that Driver must be on a Master node (Yes/No) ? Apache-Spark