【问题标题】:spark-shell start everytime with 1GB executor memoryspark-shell 每次使用 1GB 执行程序内存启动
【发布时间】:2016-06-08 07:15:15
【问题描述】:

我在运行 spark-shell 时遇到问题。我每次都收到以下错误消息:

所需的执行程序内存 (1024+384 MB) 高于此集群的最大阈值 (1024 MB)!

我执行了以下步骤来解决问题,但没有任何结果。

  1. 将 yarn.scheduler.maximum-allocation-mb 设置为 8GB
  2. 使用参数 executor-memory 启动 spark-shell

奇怪的事实是,spark-shell 会在服务重启后工作一次。在此尝试之后 spark-shell 不会加载正确的执行程序内存。每次以 1GB 开始

希望有人能帮我解决问题。

亲切的问候

hbenner89

【问题讨论】:

    标签: shell apache-spark cloudera


    【解决方案1】:

    我遇到了同样的问题,将执行程序内存减少到 512MB 并且它有效。假设 512MB 足够您的程序使用。

    spark-submit --proxy-user spark  --master yarn --deploy-mode client  --name pi --conf "spark.app.id=pi"  --driver-memory 512M  --executor-memory 512M pi.py
    

    【讨论】:

      【解决方案2】:

      您是否尝试分配超过 1g 的内存,因为它抱怨它需要更多。

      我会尝试使用 2g 作为测试。

      bin/spark-shell --executor-memory 2g --master yarn

      一定要为操作系统留一个小缓冲,这样它就不会占用整个系统的内存。

      此选项也适用于您一直使用的独立模式,但如果您一直使用 ec2 脚本,我们会在 conf/spark-defaults.conf 中设置“spark.executor.memory”自动执行此操作,以便您不必每次都在命令行上指定它。你也可以在 YARN 中做同样的事情。

      【讨论】:

        【解决方案3】:

        感谢您的回答。对理解内存选项有很大帮助。

        我发现了问题:问题不在于执行程序内存。我将 yarn.nodemanager.resource.memory-mb 更改为 2GB。进行此更改后,一切正常。

        【讨论】:

        • 你在哪里改的,后来又要重启什么?
        • 好的,我找到了。就我而言,它位于/opt/mapr/hadoop/hadoop-2.7.0/etc/hadoop/yarn-site.xml
        猜你喜欢
        • 2017-05-29
        • 2021-10-16
        • 2014-05-23
        • 1970-01-01
        • 1970-01-01
        • 2015-11-24
        • 1970-01-01
        • 2019-08-11
        • 2011-11-13
        相关资源
        最近更新 更多