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

纱线持续灭火花EMR应用母版

汤玉宸
2023-03-14

我正在EMR EMR-4.3.0上运行一个spark应用程序,有1个主机和4个节点

它们每一个都有5GB内存和2个核心。

最后Yarn杀死了应用程序主人

错误ApplicationMaster:接收信号15:SIGTERM

1)我是否可以进一步改进num-executors和executor-core的spark-submit选项。

共有1个答案

包承望
2023-03-14

当运行spark with yarn时,手动强制执行器实例的数量不是一件好事,请改用spark.dynamicallocation.enabled=true

这种方式spark会礼貌地询问yarn,如果它能有更多的资源运行,如果yarn有,它就会授予它。

要找到您的场景的根本原因,您需要查看yarn的应用程序ui(namenode上的默认端口8088)上有多少内存。由于您要为自己指定每个执行器的内存,因此yarn只能分配该大小的实例,而且yarn必须为下一个任务保留一组vcore和内存。

您可以使用“yarn-applicationid app_name_id”来查找yarn上的应用程序日志,如果它有问题。

 类似资料:
  • 首先,我想说的是我看到的解决这个问题的唯一方法是:Spark 1.6.1 SASL。但是,在为spark和yarn认证添加配置时,仍然不起作用。下面是我在Amazon's EMR的一个yarn集群上使用spark-submit对spark的配置: 注意,我用代码将spark.authenticate添加到了sparkContext的hadoop配置中,而不是core-site.xml(我假设我可以

  • 在配置spark应用程序时,我试图从集群中挤出每一点,但似乎我并没有完全正确地理解每一件事。因此,我正在AWS EMR集群上运行该应用程序,该集群具有1个主节点和2个m3类型的核心节点。xlarge(每个节点15G ram和4个vCPU)。这意味着,默认情况下,每个节点上为纱线调度的应用程序保留11.25 GB。因此,主节点仅由资源管理器(纱线)使用,这意味着剩余的2个核心节点将用于调度应用程序(

  • 我正在从一个消息应用程序收集数据,我目前正在使用Flume,它每天发送大约5000万条记录 我希望使用Kafka,使用Spark Streaming从Kafka消费并将其持久化到hadoop并使用impala进行查询 我尝试的每种方法都有问题。。 方法1-将RDD另存为parquet,将外部配置单元parquet表指向parquet目录 问题是finalParquet.saveAsParquetF

  • 我在AWS EMR Spark上运行一个应用程序。这里,是spark提交作业- AWS使用纱线进行资源管理。我正在查看指标(下面的屏幕截图),对纱线“容器”指标有疑问。 这里,分配的容器显示为2。但是,我使用了4个节点(3个从1个主节点),所有8个内核CPU。那么,只有2个容器是如何分配的呢?

  • 我正在从我的开发机器上启动spark-submit。 根据在YARN文档上运行Spark,我应该在env var或上为hadoop集群配置提供一个路径。这就是它变得棘手的地方:如果我将任务发送到远程YARN服务,为什么这些文件夹必须存在于我的本地机器上?这是否意味着spark-submit必须位于集群内部,因此我不能远程启动spark任务?如果没有,我应该用什么填充这些文件夹?我应该从任务管理器服