TL;DR:星火独立集群中的,客户端和集群部署模式之间有什么不同?如何设置应用程序将在哪种模式上运行?
我们有一个星火独立的集群,有三台机器,所有这些机器都有Spark1.6.1:
spark-submit
运行我们的应用程序的地方。我从火花文档上读到:
(...)对于独立集群,Spark目前支持两种部署模式。在客户端模式下,驱动程序在与提交应用程序的客户端相同的进程中启动。但是,在群集模式下,驱动程序是从集群内的一个辅助进程启动的,客户端进程一旦完成提交应用程序的职责,就会退出,而无需等待应用程序完成。
但是,通过阅读这篇文章,我并不真正理解实际的差异,我也不明白不同部署模式的优缺点。
此外,当我使用start-submit启动应用程序时,即使我将属性spark.submit.deployMode
设置为“群集”,上下文的Spark显示了以下条目:
因此,我无法测试这两种模式的实际差异。话虽如此,我的问题是:
1)星火独立客户端部署模式与集群部署模式有哪些实际区别?使用每一种方法的利弊是什么?
2)如何使用spark-submit
选择将运行应用程序的应用程序
发布于 2016-05-04 12:53:00
星火独立客户端部署模式与集群部署模式有什么实际区别?使用每一种方法的利弊是什么?
让我们来看看客户机模式和集群模式之间的区别。
客户端:
专题组:
--supervise
标志从主节点被监视,并且在它死后被重置。哪一个更好?不确定,这实际上是由你来做实验和决定。这不是更好的决定,你从前者和后者那里得到了东西,看哪一个更适合你的用例。
如何使用
spark-submit
选择将运行应用程序的应用程序
选择运行哪种模式的方法是使用--deploy-mode
标志。来自火花结构页面:
/bin/spark-submit \
--class <main-class>
--master <master-url> \
--deploy-mode <deploy-mode> \
--conf <key>=<value> \
... # other options
<application-jar> \
[application-arguments]
发布于 2018-07-09 07:04:38
假设您将通过对主节点执行SSH来执行EMR中的火花提交。如果您正在提供选项--部署模式集群,则会发生以下情况。
但如果-部署模式客户端:
这些是我到目前为止注意到的基本情况。
发布于 2017-07-26 04:39:38
我也有同样的场景,这里的主节点使用独立的ec2集群。在此设置中,客户端模式是合适的。在这个驱动程序中,直接启动火花提交过程,它充当集群的客户端。应用程序的输入和输出附加到console.Thus,这种模式特别适用于涉及REPL的应用程序。
否则,如果您的应用程序是从远离工作机器的机器提交的,那么使用集群模式来最小化网络延迟b/w驱动程序和执行器是很常见的。
https://stackoverflow.com/questions/37027732
复制相似问题