首页 > 解决方案 > spark-submit 没有获得提交的资源?

问题描述

  1. 摘要:我正在使用spark-submit将我的应用程序提交到我的 Spark 集群,但分配给我的应用程序的资源与我指定的参数不一致。
  2. 详细信息:我总是得到 4 个容器和 16 个内核和 74752MB RAM(大约 73G)。当我将client模式更改为时cluster,我得到的只是更少,例如 9 个容器 9 个内核和 45056MB RAM(大约 44GB)。我在cluster:8088显示应用程序信息的页面上找到了此信息。我还交叉引用了执行程序选项卡,spark:4044其中执行程序信息显示在 Spark 应用程序中。
  3. 下面是我使用的代码片段: spark-submit --master yarn --deploy-mode client --class "$1" target/scala-2.10/recommend-assembly-0.1.jar --executor-cores 8 --num-executor 15 --driver-memory 19g
  4. 环境信息:纱线上的 Spark1.6,Hadoop2.6。一个由 4 个节点组成的集群(1 个是主节点),每个节点都有 16 核 CPU 和 64GB RAM(尽管我的节点不知何故只能访问 40GB RAM)。
  5. 我尝试了什么:
    1. 我尝试修改上述参数(例如 num-executor),我仍然获得相同数量的资源。但是当我更改client为时cluster,分配的资源就更少了。
    2. 我怀疑某些纱线设置导致了这种情况。而且我发现Apache Hadoop Yarn - Underutilization of cores,但是,在我更改capacity-scheduler.xml.

标签: apache-sparkspark-submit

解决方案


我认为你应该了解有关纱线火花的知识,包括容器、舞台、AM 等


推荐阅读