当前位置: 首页 > 知识库问答 >
问题:

火花纱集群vs客户机-如何选择使用哪一个?

梁巴英
2023-03-14

spark文档中有以下段落描述了yarn客户机和yarn集群之间的区别:

有两种部署模式可用于在Yarn上启动Spark应用程序。在集群模式下,Spark驱动程序运行在由集群上的YARN管理的应用程序主进程中,客户端可以在启动应用程序后离开。在客户端模式下,驱动程序在客户端进程中运行,应用程序主程序仅用于从YARN请求资源。

共有1个答案

柏高丽
2023-03-14

一种常见的部署策略是从物理上与工作机器位于同一位置的网关机器提交应用程序(例如,独立EC2集群中的主节点)。在此设置中,客户端模式是合适的。在客户机模式下,驱动程序直接在spark-submit进程中启动,该进程充当集群的客户机。应用程序的输入和输出附加到控制台。因此,这种模式特别适用于涉及REPL的应用程序(例如Spark shell)。

或者,如果您的应用程序是从远离工作机器的机器提交的(例如,在本地笔记本电脑上),则通常使用集群模式来最小化驱动程序和执行程序之间的网络延迟。请注意,Mesos群集目前不支持群集模式。目前只有YARN支持Python应用程序的集群模式。“--提交应用程序

我从中理解的是,两种策略都使用集群来分配任务;不同之处在于“驱动程序”运行的位置:本地使用spark-submit,或者也在集群中。

    null

AFAIK使用在集群中运行的驱动程序,它不太容易受到远程断开连接导致驱动程序和整个spark工作崩溃的影响。这对于长时间运行的工作(如流处理类型的工作负载)特别有用。

 类似资料:
  • 我已经在一个15节点的Hadoop集群上安装了。所有节点都运行和最新版本的Hadoop。Hadoop集群本身是功能性的,例如,YARN可以成功地运行各种MapReduce作业。 我可以使用以下命令在节点上本地运行Spark Shell,而不会出现任何问题:。 你知道为什么我不能用客户端模式在纱线上运行Spark Shell吗?

  • 我正在使用yarn-cluster Master运行我的spark应用程序。 应用程序是做什么的? 外部服务根据对RESTService的HTTP请求生成jsonFile Spark需要在解析JSON后读取该文件并执行一些工作 我认为将文件作为--files传递会让我忘记保存和删除这个文件。类似于通过-过程-忘记。 那么,如何读取通过-files传递的文件呢?唯一的解决方案是手工创建路径,硬编码“

  • 当我使用spark-submit with master yarn和deploy-mode cluster提交spark作业时,它不会打印/返回任何applicationId,一旦作业完成,我必须手动检查MapReduce jobHistory或spark HistoryServer来获取作业细节。 我的集群被许多用户使用,在jobHistory/HistoryServer中找到我的作业需要很多时

  • 我可以从IDE(远程)编程运行这个程序吗?我使用Scala-IDE。我寻找一些代码来遵循,但仍然没有找到合适的 我的环境:-Cloudera 5.8.2[OS redhat 7.2,kerberos 5,Spark2.1,scala 2.11]-Windows 7

  • 问题内容: 我们正在构建一个电子商务应用程序。我们正在将JAVA堆栈与Hibernate和Spring框架一起使用。与所有电子商务应用程序一样,我们需要在我们的电子商务应用程序中构建搜索功能。 因此,我们遇到了Hibernate Search 和Apache Solr 。有人可以列出两者的优缺点,以便我们为Enterprise Search选择理想的解决方案吗? 问题答案: Apache Solr

  • 有两种部署模式可用于在YARN上启动Spark应用程序。在yarn-cluster模式下,Spark驱动程序在集群上由YARN管理的应用程序主进程中运行,客户端可以在启动应用程序后离开。在yarn-client模式下,驱动程序在客户端进程中运行,而应用程序主进程仅用于向YARN请求资源。 在此,我只能理解的区别是哪个地方的驱动程序在运行,但我无法理解哪个运行得更快。莫尔沃弗: 在运行Spark-s