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

spark job在2个节点的集群中运行,但spark submit配置可以轻松地在单个节点中容纳?(集群模式)

孟雪风
2023-03-14

spark集群有2个工作节点。节点1:64 GB,8个内核。节点2:64 GB,8个内核。

现在,如果我在集群模式下使用spark-submit提交一个spark作业,其中有2个执行器,每个执行器内存为32 GB,则为4个内核/执行器。现在我的问题是,由于上面的配置可以容纳在单个节点中,那么spark将使用2个工作节点还是只在一个节点中运行它?

共有1个答案

吕俊才
2023-03-14

这更像是一个资源管理器问题,而不是Spark问题,但在您的情况下,2个执行器不能在一台机器中运行,因为操作系统的开销至少使用1个内核和1GB RAM,即使您将RAM设置为30 GB和3个内核/执行器。它们将在不同的节点上运行,因为Spark试图获得最好的数据局部性,所以很明显,它不会为两个执行器使用同一个节点。

 类似资料:
  • 问题内容: 我在本地计算机上安装了elasticsearch,我想将其配置为集群(独立服务器)中唯一的单个节点。这意味着每当我创建一个新索引时,该索引仅对我的服务器可用。他人的服务器将无法访问它。 在当前情况下,这些索引可用于其他服务器(这些服务器在群集中形成),并且它们可以对我的索引进行任何更改。但是我不要。 我浏览了其他一些博客,但没有得到最佳解决方案。那么,您能不能让我知道相同的步骤? 问题

  • 我需要在不同的机器上配置一个Kafka集群,但它不起作用,当我启动生产者和消费者时,将显示以下错误: 你能帮帮我吗。

  • 我在一个集群中有两个节点;我允许用户有节点特定的配置,如日志级别,本地缓存设置等;有时,管理这些设置变得非常困难,因为用户必须知道或记住应用在特定节点上的配置--在找到该特定节点之前移动一个又一个节点;是否有任何标准或已知的方法可以从单个地方管理这些节点?比如,从httpd服务器本身还是将一个节点作为主节点并记住其他节点?

  • 我有 2 个 docker 容器运行我的 Web 应用程序和机器学习应用程序,都使用 h2o。最初,我既调用 h2o.init() 又指向同一个 IP:PORT,因此初始化了一个具有一个节点的 h2o 集群。 考虑到我已经训练了一个模型,现在我正在训练第二个模型。在此训练过程中,如果web应用程序调用h2o集群(例如,从第一个模型请求预测),它将终止训练过程(错误消息如下),这是无意的。我尝试为每

  • Disque 以集群模式运行, 每个服务器都是集群中的一个节点, 用户可以运行任意数量的节点, 只要确保每个节点的端口号不同即可。 在默认情况下, 运行 Disque 服务器程序 disque-server 将启动一个端口号为 7711 的 Disque 节点: $ ./disque-server 528:C 28 Apr 11:50:08.519 # Warning: no config fil

  • 问题内容: 我尝试在Google Container Engine的群集节点上安装ElasticSearch(最新版本),但是ElasticSearch需要变量:>> 262144。 如果我ssh到每个节点并手动运行: 一切正常,但是任何新节点将没有指定的配置。 所以我的问题是: 有没有办法在引导时在每个节点上加载系统配置?Deamon Set并不是一个好的解决方案,因为在Docker容器中,系统