首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Apache :客户端和集群部署模式的不同

Apache :客户端和集群部署模式的不同
EN

Stack Overflow用户
提问于 2016-05-04 12:23:32
回答 3查看 44.4K关注 0票数 40

TL;DR:星火独立集群中的,客户端和集群部署模式之间有什么不同?如何设置应用程序将在哪种模式上运行?

我们有一个星火独立的集群,有三台机器,所有这些机器都有Spark1.6.1:

  • 主计算机,它也是使用spark-submit运行我们的应用程序的地方。
  • 2台相同的工人机器

我从火花文档上读到:

(...)对于独立集群,Spark目前支持两种部署模式。在客户端模式下,驱动程序在与提交应用程序的客户端相同的进程中启动。但是,在群集模式下,驱动程序是从集群内的一个辅助进程启动的,客户端进程一旦完成提交应用程序的职责,就会退出,而无需等待应用程序完成。

但是,通过阅读这篇文章,我并不真正理解实际的差异,我也不明白不同部署模式的优缺点。

此外,当我使用start-submit启动应用程序时,即使我将属性spark.submit.deployMode设置为“群集”,上下文的Spark显示了以下条目:

因此,我无法测试这两种模式的实际差异。话虽如此,我的问题是:

1)星火独立客户端部署模式与集群部署模式有哪些实际区别?使用每一种方法的利弊是什么?

2)如何使用spark-submit选择将运行应用程序的应用程序

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-04 12:53:00

星火独立客户端部署模式与集群部署模式有什么实际区别?使用每一种方法的利弊是什么?

让我们来看看客户机模式和集群模式之间的区别。

客户端:

  • 驱动程序运行在专用进程内的专用服务器(主节点)上。这意味着它拥有执行工作所需的所有可用资源。
  • 驱动程序打开一个专用的Netty服务器,并将指定的JAR文件分发给所有工作节点(很大的优势)。
  • 因为主节点有自己的专用资源,所以不需要为驱动程序“花费”工作资源。
  • 如果驱动程序进程死亡,则需要外部监视系统来重置它的执行。

专题组:

  • 驱动程序运行在集群的一个工作节点上。这个工人是由总领导选定的。
  • 驱动程序在员工内部作为一个专用的、独立的进程运行。
  • 驱动程序从一个工作人员中占用至少一个核心和一个专用内存(这可以配置)。
  • 驱动程序可以使用--supervise标志从主节点被监视,并且在它死后被重置。
  • 在群集模式下工作时,与执行应用程序有关的所有JAR都需要对所有工作人员公开。这意味着您可以手动将它们放在共享的位置,也可以将它们放在每个工作人员的文件夹中。

哪一个更好?不确定,这实际上是由你来做实验和决定。这不是更好的决定,你从前者和后者那里得到了东西,看哪一个更适合你的用例。

如何使用spark-submit选择将运行应用程序的应用程序

选择运行哪种模式的方法是使用--deploy-mode标志。来自火花结构页面:

代码语言:javascript
运行
复制
/bin/spark-submit \
  --class <main-class>
  --master <master-url> \
  --deploy-mode <deploy-mode> \
  --conf <key>=<value> \
  ... # other options
  <application-jar> \
  [application-arguments]
票数 68
EN

Stack Overflow用户

发布于 2018-07-09 07:04:38

假设您将通过对主节点执行SSH来执行EMR中的火花提交。如果您正在提供选项--部署模式集群,则会发生以下情况。

  1. 您将无法在终端中看到详细的日志。
  2. 由于驱动程序不是在主服务器中创建的,所以您将无法从终端终止作业。

但如果-部署模式客户端:

  1. 您将能够在终端中看到详细的日志。
  2. 您将能够从终端本身终止作业。

这些是我到目前为止注意到的基本情况。

票数 6
EN

Stack Overflow用户

发布于 2017-07-26 04:39:38

我也有同样的场景,这里的主节点使用独立的ec2集群。在此设置中,客户端模式是合适的。在这个驱动程序中,直接启动火花提交过程,它充当集群的客户端。应用程序的输入和输出附加到console.Thus,这种模式特别适用于涉及REPL的应用程序。

否则,如果您的应用程序是从远离工作机器的机器提交的,那么使用集群模式来最小化网络延迟b/w驱动程序和执行器是很常见的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37027732

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档