【发布时间】:2021-02-18 10:13:40
【问题描述】:
我有一个 EMR 集群,最多可以扩展到 10 个SPOT 节点。不使用时默认为 1 个CORE 节点(和 1 个MASTER)以明显节省成本。因此,它总共可以扩展到最多 11 个节点 1 CORE + 10 SPOT。
当我运行我的 spark 作业时,需要一段时间来启动 10 个SPOT 节点,而我的作业最终需要大约 4 小时才能完成。
我尝试等到所有节点都启动后,然后取消我的作业并立即重新启动它,以便它可以立即开始使用最大资源,而我的作业只花了大约 3 小时就完成了。
我有两个问题:
1. 有没有办法让 YARN 在开始工作之前启动所有必要的资源?我已经在提交作业时指定了诸如num-executors、executor-memory、executor-cores 等 spark-submit 参数。
2. 我还没有做成本分析,但是上面提到的第 1 点值得做吗? AWS 是否对启动时间收费,即使作业没有运行?
很想知道您的见解和建议。
谢谢
【问题讨论】:
标签: amazon-web-services apache-spark amazon-emr