【问题标题】:Cannot allocate memory error from spark-submit to AWS EMR give无法从 spark-submit 分配内存错误到 AWS EMR give
【发布时间】:2019-12-20 05:44:08
【问题描述】:

我通过 Apache Livy 连续向运行 YARN 的 EMR 集群发布十个 spark-submit 请求,但 spark 在第 7 次提交时出现以下错误,之后所有提交:

"java.io.IOException: 无法运行程序 \"/usr/lib/spark/bin/spark-submit\": error=12, 无法分配内存"

有什么办法可以让 spark-submit 进入队列,只有在获得资源后才会执行,并且我的工作不会失败。

【问题讨论】:

  • 在 EMR 上启用 ganglia 并观察主节点中的空闲内存(livy 正在运行);当节点内存超过 90% 时会发生这种情况吗? --然后这是 livy 问题 --在这种情况下,尝试分隔 livy 提交的空间,以便您在 5 秒内提交的文件不超过 1 或 2;看看这是否有帮助

标签: apache-spark amazon-emr


【解决方案1】:

“Java 运行时环境没有足够的内存来继续”。此警告表示主节点上可用于运行 Java 环境的内存不足。如果主节点的内存负载过重,这种行为很常见,这会使其他使用内存的进程饿死。

为了解决此问题,建议启动具有更高实例类型的 EMR 集群,以根据集群的要求利用更多内存。

【讨论】:

    猜你喜欢
    • 2019-11-27
    • 2018-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 2021-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多